UI를 index.html 파일에만 넣어 개발하면 유지보수에 어려움이 있다.
sap.m.Text 컨트롤을 전용 뷰에 배치하여 모듈로 만들어 보자
SAPUI5는 다중 뷰 유형 (XML, HTML, JavaScript)을 지원한다. 그 중 가장 가독성이 높은 코드를 생성하고 뷰 선언을 컨트롤러 로직과 분리하도록 XML
을 사용한다.
<mvc:View
xmlns="sap.m"
xmlns:mvc="sap.ui.core.mvc">
<Text text="Hello World"/>
</mvc:View>
xmlns
를 통해 sap.m을 참조하여 sap에서 제공되는 UI를 참조 한다.
OpenUI5 뷰와 다른 모든 MVC(Model-View-Controller) 애셋이있는 mvc를 사용하여 추가 sap.ui.core.mvc
네임 스페이스를 정의한다.
note: 네임 스페이스는 프로젝트의 모든 리소스를 식별하므로 고유해야한다.
네임 스페이스는 SAP 자원을 위해 예약되어 있으므로 sap 네임 스페이스 접두어를 사용할 수 없다.
뷰 태그 안에는 텍스트 컨트롤 추가한다. XML 태그는 컨트롤에 매핑되고 속성은 컨트롤의 속성에 매핑된다.
sap.ui.define([
"sap/ui/core/mvc/XMLView"
], function (XMLView) {
"use strict";
XMLView.create({
viewName: "sap.ui.demo.walkthrough.view.App"
}).then(function (oView) {
oView.placeAt("content");
});
});
sap.m.Text 컨트롤의 인스턴스를 새로운 App XML view로 대체한다.
Index.html에 data-sap-ui-resourceroots
설정한 네임스페이스를 기준으로
이 자원을 고유하게 식별하기 위해 이름 앞에 sap.ui.demo.walkthrough.view
네임 스페이스가 붙는다.
note: 이 단계부터 웹 서버에서 앱을 실행해야 한다. 로컬 파일에서 로드 된 여러 파일로 응용 프로그램을 구성한다.
웹 서버가 없으면 보안상의 이유로 브라우저에서 이를 방지 할 수 있다. 브라우저의 개발자 도구에"sap is not defined"
라는 오류 메시지가 나타나면 bootstrap의 리소스 경로를 확인한다.
View의 이름은 대문자 표시한다.
모든 View는 view폴더에 저장
xml파일은 모두 *.view.xml로 끝난다.
기본 XML 네임 스페이스는 sap.m이다.
다른 XML 네임 스페이스는 SAP 네임 스페이스의 마지막 부분을 별칭으로 사용한다 (예 : sap.ui.core.mvc의 경우 mvc)