UI5 모델바인딩에 대해 알아봅시다 ^^


모델 바인딩에는 단방향 / 양방향 바인딩이 있습니다. 

 

단방향(one-way)
처음모델의 값을 뷰에 보여주는 수직적인 구조입니다.

 

양방향(two-way)
뷰에 바인딩한 모델이 실시간으로 뷰의 값이 바뀔경우 모델에 즉시

반영되는 수평적인 구조입니다.

 

두 바인딩을 코드실습으로 알아봅시다 ^^

 

Step1.프로젝트 생성

먼저  ZBindingTEST 라는 프로젝트를 생성합니다.

(프로젝트 만들기 참조)

Project Name : ZBindingTEST

 

View Type : XML

View Name : BindingTest

 

Step2.Controller 작성

Controller 아래 경로의 BindingText.controller.js를 선택하여

_oBindingModel: new sap.ui.model.json.JSONModel(), //바인딩모델

을 입력합니다.

바인딩을 할 모델을 생성하는 작업입니다.

 

UI5 생명주기 중 화면실행시 최초실행되는 onInit function을 생성하고

oData 변수에 Json형태의 Name : “홍길동”을 추가 합니다.

( UI5 생명주기와 , JSON데이터구조는 다음에 자세히 다루도록 합니다.)

 

oBindingModel에 데이터를 셋팅

this._oBindingModel 을 불러와

.setData() : 모델에데이터삽입

에 oData를 넣어줍니다.

this._oBindingModel.setData(oData); 을 입력합니다.

 /**

   * 최초실행

   */

   onInit: function() {

       var oData = {

            Name : "홍길동"

        };

       this._oBindingModel.setData(oData);       

   }

 

oBindingModel을 View에 바인딩.

this.getView() 로 View 를 가져와 .setModel() 메서드로 바인딩 합니다.

바인딩 대상 모델은 this._oBindingModel 을 바인딩합니다.

this.getView().setModel(this._oBindingModel); 을 입력합니다.

       /**

         * 최초실행

         */

        onInit: function() {

            var oData = {

                Name : "홍길동"

            };

            this._oBindingModel.setData(oData);  

            this.getView().setModel(this._oBindingModel);     

       }

Step3.Xml뷰 작성

View 아래 경로의 BindingTest.view.xml 를 선택

<Content></Conternt> 사이에

 <Panel>

       <Text text="{/Name}" /> <!--단방향-->

       <Input type="Text" value="{/Name}" />

       <!--양방향-->

</Panel>

코드를 입력합니다.

각각 단방향  text 에  {/Name}을

양방향 input value 에  {/Name}을 입력하면

단방향/양방향 바인딩 구성이 완료됩니다. 

 

Step4.프로젝트 실행

자 이제 실행해 보겠습니다.

프로젝트 우클릭 > Run > Run as > Web Application 으로 실행합니다.

 

oBindingModel 의 Name 필드의 “홍길동“ 이 표시 되어집니다.

 

이제 아래의 input필드에  GOOD 라는 단어를 쓰고 엔터를 쳐봅시다.

위와같이 단방향 바인딩된 Text 도 함께 바뀌게 됩니다. 

양방향 바인딩으로  oBindingModel 의 Name 도 “홍길동 GOOD” 로 실시간으로 바뀌게 됩니다.

UI5는 대부분의 Json데이터를  바인딩 기반으로  View와  Controller간 데이터를 주고받습니다.  꼭 숙지하셔야 됩니다 ^^

감사합니다.

 

 

Note Page 6 - End 

UI5 에서 제공하는 샘플 및 컴포넌트 들은 최신화 되면서 버전이 올라가게 됩니다. 

클라우드 버전과는 다르게 On-premise 환경에서는 해당 버전을 다운받아 적용하여 기능을 사용합니다.

SAP UI5 시작하기 1편. 개발환경 구축  부터 시작하시는 분이라면 꼭 필수적으로 적용해주셔야 합니다.

On-premise 환경 버전업이라고 생각하시면 됩니다 ^^


Step1. 현재 내 UI5 버전 확인하기 

현재 사용중인 버전을 확인하는 방법 입니다. 

확인 하고자 하는 프로젝트( ZHELLO_WORLD ) 우클릭 > Project Settings를 클릭합니다.

SAPUI5 항목을 클릭합니다 > SAPUI5 Version을 확인합니다 ( 현재 1.52.13 ).  

 

변경할 수 있는 버전을 확인해보니 1.52.13이 최신버전입니다.

( On-premise 환경 최신버전으로 버전업을 진행하도록 해보겠습니다. )

 

 

 

 

 

Step2. UI5 최신버전 다운로드  

https://sapui5.hana.ondemand.com 주소로 이동 후 Down load 버튼을 클릭 해줍니다.

 

다음 페이지 에서 1.71  버전을 다운로드 합니다.

사용가능한 버전 확인은 here을 눌러보시면 클라우드 버전&버전별 지원기간 등을 확인 할 수 있습니다.

 

 

Step3. 다운로드 파일 적용

다운로드 파일을 Plugins에 적용합니다.

1) 폴더경로  eclipse > plugins > com.sap.webide.orionplugin_1.53.9 > ui5 이동.

2) 현재 경로에 다운받은 sapui5-sdk-1.71.24 압축을 푼뒤 폴더명을 1.71.24 로 변경합니다.

 

Step4. neo-app.json 수정 

neo-app.Json 더블클릭 > 메모장 선택

 

스크롤을 아래로 내려  1.52.13 아래에 1.71.24 내용을 추가합니다.

 

 

Step5. versionoverview.json 수정

폴더경로  eclipse > plugins > com.sap.webide.orionplugin_1.53.9 > ui5templates 이동합니다.

versionoverview.json을 수정합니다. 

versionoverview.json 더블클릭 > 메모장 선택

 

versions 아래에 1.71.2.* 내용을 추가합니다.

수정은 여기까지!! 

 

 

Step6. 버전 변경 / 확인

프로젝트의 버전변경을 진행하고 확인 합니다 아래 순서로 진행하세요 ^^

1) 서버를 중지후 orion.exe 를 재실행 합니다.

2)  Web-IDE에 접속하여 > 1. 내 UI5 버전 확인 방법을 재진행 합니다.

3) SAPUI5 버전 항목에 1.71.24 버전 확인 후 SAVE 버튼을 눌러 저장합니다.

 

여기까지 온프렘 환경에서 UI5 버전업 하기 입니다. 감사합니다.

 

 

 

Note Page 5 - End 

UI5 프로젝트 생성시 폴더구조 및 기능 알아보기!! 


3편 Hello world 까지 완료 하였다면 프로젝트 구조가 자동으로 생성된 상태 입니다.

이제 프로젝트 하위에 있는 폴더들과 파일이 어떠한 역할을 하는지 알아봅니다.

 

1. controller

화면을  Control 하는 Controller.js 들이 위치하는 폴더 입니다.

대부분 View와 1:1 연동되는 js 형태로 쓰이게 됩니다.

 

 

2. css

css 파일이 모이는 경로입니다.

기본적으로 style.css 가 생성되며 추가로 css를 만들어 등록 하기만하면 사용이 가능합니다.

 

 

3. i18n

i18n 이란?(위키참조).

기본적으로 i18n.properties 가 생성되며 등록하여 사용합니다.

 

 

4. view

XML화면이 있는 경로입니다.

controller와 1:1을 이루며 UI5 View를 작성합니다.

 

 

5. component.js

화면 실행시 선행으로 읽는 js입니다.

공통적인 부분들을 이곳에 작성하면 유용합니다.

 

 

6. index.html

Run as WepApplication으로 실행시 최초 실행되는 html입니다.

 

 

7. manifest.json

프로젝트를 설정하는 부분입니다.

js, css 파일을 사용하기위한 등록, Routing/Navigation기능 구현을 위한 등록,  oData를 사용하기위한 Model 사용등록, XMlL화면옵션제어등 다양한 제어를 정의하는 json 입니다. 

 

UI5 프로젝트 구조정리끝!!! 감사합니다.

 

 

Note Page 4 - End 

 

 

+ Recent posts