SAPUI5 和 OData 服务的动态 URL
SAPUI5 and dynamic URL for OData service
我正在使用sapui5做示例示例。我想动态传递 URL 服务并加载 ODATA 服务,但我真的是 sapui5 的新手,我不知道该怎么做。下面的代码是我尝试做的,但它不起作用。非常感谢您的帮助。
createContent : function(oController) {
var oLayout = new sap.ui.commons.layout.AbsoluteLayout({width:"340px",height:"150px"});
oLayout.addStyleClass("CustomStyle"); //Add some additional styling for the border
var oLabel = new sap.ui.commons.Label({text:"Service Url"});
var oUrlInput = new sap.ui.commons.TextField({width:"190px"});
oLabel.setLabelFor(oUrlInput);
oLayout.addContent(oLabel, {right:"248px",top:"20px"});
oLayout.addContent(oUrlInput, {left:"110px",top:"20px"});
var oLabel = new sap.ui.commons.Label({text:"Service"});
var oSvcInput = new sap.ui.commons.TextField({width:"190px"});
oLabel.setLabelFor(oSvcInput);
oLayout.addContent(oLabel, {right:"248px",top:"62px"});
oLayout.addContent(oSvcInput, {left:"110px",top:"62px"});
var loadData =new sap.ui.commons.Button({
text : "load",
width:"133px",
press: function() {
oController.load();
}});
oLayout.addContent(loadData, {left:"110px",top:"104px"});
return oLayout;
}
//控制器
load: function(oEvent){
var url = sap.ui.getControl("oUrlInput").getValue();
var svc = sap.ui.getControl("oSvcInput").getValue();
var oModel = new sap.ui.model.odata.OdataModel(url + "/" + svc ,false);
var mylist = new sap.ui.model.ListBinding(oModel);
return mylist;
}
索引.html
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv='Content-Type' content='text/html;charset=UTF-8'/>
<script src="resources/sap-ui-core.js"
id="sap-ui-bootstrap"
data-sap-ui-libs="sap.ui.commons,sap.ui.table,sap.ui.ux3"
data-sap-ui-theme="sap_bluecrystal">
</script>
<!-- add sap.ui.table,sap.ui.ux3 and/or other libraries to 'data-sap-ui-libs' if required -->
<script>
sap.ui.localResources("simpleform");
var view = sap.ui.view({id:"idsimpleForm1", viewName:"simpleform.simpleForm", type:sap.ui.core.mvc.ViewType.JS});
view.placeAt("content");
</script>
</head>
<body class="sapUiBody" role="application">
<div id="content"></div>
</body>
</html>
必须为控件提供一个 ID 才能在控制器中访问它们。喜欢这个:
// create controls with id
var oLabel = new sap.ui.commons.Label("oLabelId", {text:"Service Url"});
var oUrlInput = new sap.ui.commons.TextField("oUrlInputId", {width:"190px"});
// then to get reference to the control later
var oLabel = sap.ui.getCore().byId("oLabelId");
var oUrlInput = sap.ui.getCore().byId("oUrlInputId");
确保使用正确的 URL:
var oModel = new sap.ui.model.odata.OdataModel("/sap/opu/odata/sap/" + svc ,false);
确保以下。
- 将 odataModel 的大小写更改为 ODataModel
- 确保服务 URL 也正确无误
- 获取控件的参考 如 kjokinen 所述
问候
相关文章:
- 以角度管理动态URL
- javascript在动态Url中匹配并添加字符串
- 在angular.js中定义动态URL的重定向
- 对使用 Ajax 捕获的动态 url 响应
- jQuery UI中的动态url,数据表
- 限制与AngularJS状态匹配的动态URL参数的最佳方式
- URL重写Node js-动态URL
- 如何构造用于骨干路由的动态url
- Facebook选项卡应用程序动态URL
- 使用ui路由器实现动态URL路由的最佳方式是什么
- 如何从json文件中的基本url生成动态url
- 如何从JSON文件中读取动态url
- 带有标签的动态url的社交共享
- 基于表单输入生成动态 URL
- 另一种在javascript中创建随机动态url的方法/阻止wpengine缓存
- 从用户输入到搜索的动态 URL
- SAPUI5 和 OData 服务的动态 URL
- 使用动态 URL 初始化时保存主干模型
- 动态 url 作为 css 和 D3JS 中伪元素的数据属性
- 使用Javascript/Jquery来删除动态URL