Javascript 在SAPUI5中从json向文本框显示数据
我想使用SAPUI5将JSON中的数据显示到文本框中Javascript 在SAPUI5中从json向文本框显示数据,javascript,json,sapui5,Javascript,Json,Sapui5,我想使用SAPUI5将JSON中的数据显示到文本框中 // JSON sample data var data = { firstName: "John", lastName: "Doe", birthday: {day:01,month:05,year:1982}, address:[{city:"Heidelberg"}], enabled: true }; // create JSON model instance var oModel = new
// JSON sample data
var data = {
firstName: "John",
lastName: "Doe",
birthday: {day:01,month:05,year:1982},
address:[{city:"Heidelberg"}],
enabled: true
};
// create JSON model instance
var oModel = new sap.ui.model.json.JSONModel();
// set the data for the model
oModel.setData(data);
// set the model to the core
sap.ui.getCore().setModel(oModel);
// create your controls
var oTextView = new sap.ui.commons.TextView("textView", {
// bind text property of textview to firstName property in the model
text: "{/firstName}",
tooltip: "First Name"
});
var oTxt = new sap.ui.commons.TextField("txtField", {
// bind text property of textfield to firstName property in the model
value: "{/firstName}"
});
上面的代码正在工作,但当我在json文件中传输json数据并尝试加载此场景时,数据未加载
现在,我的Json文件如下所示:
{
"UserDetails":[
{
"userid": "Test-Id",
"sapname": "Test-SAP-Form",
"age": 37,
"annualleave": 32
}
]}
在Json文件中传输Json数据时,我使用以下代码加载数据:
var userDetailsModel = new sap.ui.model.json.JSONModel();
userDetailsModel.loadData("json/UserDetails.json");
userDetailsModel.setData("json/UserDetails.json");
sap.ui.getCore().setModel(userDetailsModel, "UserDetails");
但我无法在文本框中显示数据
我犯了什么错 数据绑定的(简单)语法是{model>path}
,因此当您执行setModel(model,“modelname”)
时,您需要执行{modelname>path}
在您的情况下,所需的值为
var oTxt = new sap.ui.commons.TextField("txtField", {
// bind text property of textfield to firstName property in the model
value: "{UserDetails>/firstName}"
});
并删除带有model.setData
的行,正如他在评论中提到的限定符
编辑:JSON文件与传递给控件的路径不同。使用该结构,您需要将路径设置为
{UserDetails>/UserDetails/0/firstName}
如果您先使用加载数据,则不需要使用设置数据
setData
需要一个对象/数组,而loadData
已经将json文件中的对象/数组存储到我尝试过的模型中。不起作用。我按照你的指示做了,但仍然不起作用。好的,你的json文件看起来和我预期的不一样。你有使用SAPUI5将数据保存到json的例子吗?很高兴听到它起作用了。我不知道如何用UI5直接保存数据,我只是将它与ApacheTomcat一起使用,这样Java servlet就可以做类似的事情。你能给我一个例子,说明它如何与servlet一起用json保存数据吗?