Перенос приложения sapui5 на openui5

Демо-версия SplitApp, разработанная в eclipse, работает нормально. Когда я пытаюсь перенести то же самое на Openui5, я сталкиваюсь с проблемой.

Я изменил URL-адрес начальной загрузки на https://openui5.hana.ondemand.com/resources/sap-ui-core.js.

Тем не менее проблема не устранена.

Я получаю сообщение об ошибке, как показано ниже:

2014-06-15 22:26:43 Device API logging initialized - DEVICE sap-ui-core.js:44
2014-06-15 22:26:43 registerResourcePath ('', 'https://openui5.hana.ondemand.com/resources/') -  sap.ui.ModuleSystem sap-ui-core.js:80
2014-06-15 22:26:43 URL prefixes set to: -  sap.ui.ModuleSystem sap-ui-core.js:80
2014-06-15 22:26:43   (default) : https://openui5.hana.ondemand.com/resources/ -  sap.ui.ModuleSystem sap-ui-core.js:80
2014-06-15 22:26:43 registerResourcePath ('view', './view/') -  sap.ui.ModuleSystem sap-ui-core.js:80
2014-06-15 22:26:43 registerResourcePath ('model', './model/') -  sap.ui.ModuleSystem sap-ui-core.js:80
2014-06-15 22:26:43 registerResourcePath ('app', './app/') -  sap.ui.ModuleSystem sap-ui-core.js:80
2014-06-15 22:26:43 registerResourcePath ('i18n', './i18n/') -  sap.ui.ModuleSystem sap-ui-core.js:80
2014-06-15 22:26:44 registerResourcePath ('model', './model/') -  sap.ui.ModuleSystem sap-ui-core.js:80
GET http://myDomain/i18n/i18n_en_US.properties 404 (Not Found) sap-ui-core.js:27
GET http://myDomain/i18n/i18n_en.properties 404 (Not Found) sap-ui-core.js:27
GET http://myDomain/i18n/i18n.properties 404 (Not Found) sap-ui-core.js:27
GET http://myDomain/model/menu.json 404 (Not Found) sap-ui-core.js:27
2014-06-15 22:26:45 The following problem occurred: error - 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
  <head>

    <meta name="revisit-after" content="10">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    <script type="text/javascript" language="JavaScript"
        src="http://cdn.dsultra.com/js/registrar.js"></script>

    <script type="text/javascript" language="JavaScript">
        registrar_frameset({ a_id: 48873,       // edit this to pass your portfolio ID,
                             drid: 'as-drid-2416478692338427'});     // edit this to pass your Domain Registrant ID
    </script>

  </head>
</html>,404,Not Found  sap-ui-core.js:80
GET http://myDomain/model/coffee.json 404 (Not Found) sap-ui-core.js:27
2014-06-15 22:26:45 The following problem occurred: error - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
  <head>

    <meta name="revisit-after" content="10">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    <script type="text/javascript" language="JavaScript"
        src="http://cdn.dsultra.com/js/registrar.js"></script>

    <script type="text/javascript" language="JavaScript">
        registrar_frameset({ a_id: 48873,       // edit this to pass your portfolio ID,
                             drid: 'as-drid-2416478692338427'});     // edit this to pass your Domain Registrant ID
    </script>

  </head>
</html>,404,Not Found

Ошибка говорит о том, что не удается найти файлы моделей и свойств json. Пожалуйста, дайте мне знать, если мне нужно поддерживать конфигурации на уровне приложения.

Пожалуйста, найдите исходный код openui5 в Github, и прикрепленное изображение содержит структуру папок в eclipse, которая используется для sapui5.

Структура папки


person rajan    schedule 15.06.2014    source источник
comment
возможно, вы могли бы поделиться параметрами начальной загрузки и тем, что находится в вашей структуре папок, по файлам. Тогда мы сможем вам больше помочь.   -  person qmacro    schedule 16.06.2014
comment
DJ, Спасибо за уделенное время. Пожалуйста, найдите исходный код openui5 в GITHUB. Я новичок в StackOverflow и не знаю, как прикрепить изображение в комментариях. Итак, я ответил на свой вопрос, чтобы прикрепить изображение структуры папок.   -  person rajan    schedule 17.06.2014
comment
Из всех папок, упомянутых в проекте, я получаю ошибку 404 для файлов json и свойств, которые находятся в модели папок и i18n. Следует ли поддерживать какую-либо конкретную конфигурацию на уровне приложения или она должна что-либо делать на уровне домена? Пожалуйста, помогите мне найти решение проблемы. Спасибо.   -  person rajan    schedule 13.07.2014


Ответы (1)


Ваш splitapp_demo / app / Component.js необходимо изменить, как показано ниже:

jQuery.sap.declare("app.Component");
//jQuery.sap.require("app.MyRouter");

sap.ui.core.UIComponent.extend("app.Component", {
    metadata: {
        name: "DEmo App",
        version: "1.0",
        includes: [],
        dependencies: {
            libs: ["sap.m", "sap.ui.layout"], //add any other libraries you need
            components: []
        },

        //rootView : "app.view.App",

        config: {
            resourceBundle: "i18n/i18n.properties",
            //if you have service
            /*serviceConfig : {
                name: "SERVICE_NAME",
                serviceUrl: "/your/service/url/"
            }*/
        },

        routing: {

            routes: [
              //your routes
      ]
        }
    },

    init: function () {
        sap.ui.core.UIComponent.prototype.init.apply(this, arguments);

        var mConfig = this.getMetadata().getConfig();

        // Always use absolute paths relative to our own component
        // (relative paths will fail if running in the Fiori Launchpad)
        var oRootPath = jQuery.sap.getModulePath("app");

        // Set i18n model
        var i18nModel = new sap.ui.model.resource.ResourceModel({
            bundleUrl: [oRootPath, mConfig.resourceBundle].join("/")
        });
        this.setModel(i18nModel, "i18n");

        var sServiceUrl = mConfig.serviceConfig.serviceUrl;

        //This code is only needed for testing the application when there is no local proxy available
        var bIsMocked = jQuery.sap.getUriParameters().get("responderOn") === "true";
        // Start the mock server for the domain model
        if (bIsMocked) {
            this._startMockServer(sServiceUrl);
        }

        // Create and set domain model to the component
        var oModel = new sap.ui.model.odata.ODataModel(sServiceUrl, {
            json: true,
            loadMetadataAsync: true
        });

        // if you have static models
        //  var oModel = new sap.ui.model.odata.ODataModel([oRootPath, "model/coffee.json"].join("/"), {json: true,loadMetadataAsync: true});
        this.setModel(oModel);

        // Set device model if needed
        var oDeviceModel = new sap.ui.model.json.JSONModel({
            isTouch: sap.ui.Device.support.touch,
            isNoTouch: !sap.ui.Device.support.touch,
            isPhone: sap.ui.Device.system.phone,
            isNoPhone: !sap.ui.Device.system.phone,
            listMode: sap.ui.Device.system.phone ? "None" : "SingleSelectMaster",
            listItemType: sap.ui.Device.system.phone ? "Active" : "Inactive"
        });
        oDeviceModel.setDefaultBindingMode("OneWay");
        this.setModel(oDeviceModel, "device");

        //this.getRouter().initialize();

    }
});
person Sunil B N    schedule 05.05.2015