我有一个非常简单的html示例,它调用一个返回非常简单的JSON对象的jsp页面。我的问题是我希望屏幕显示的内容没有显示出来。
这是我看到的屏幕截图。
以下是HTML文件的相关部分。
<script type="text/javascript" src="resources/dojo/dojo.js"
djConfig="isDebug:false,parseOnLoad:true"></script>
<script>
dojo.require("dojo.data.ItemFileReadStore");
dojo.require("dojox.grid.DataGrid");
dojo.require("dojo.parser");
dojo.require("dijit.form.TextBox");
dojo.require("dijit.layout.ContentPane");
dojo.require("dojox.data.StoreExplorer");
var jsonStore;
dojo.xhrGet({
url: "json.jsp",
handleAs: "json",
//handleAs: "text",
load: populateDiv,
error: function(type, data, evt){alert("error");}
});
function populateDiv(dataItems) {
console.log(dataItems);
jsonStore = new dojo.data.ItemFileReadStore(dataItems);
}
</script>
<div id="strexplr" dojoType="dojox.data.StoreExplorer" store="jsonStore"
style="height:500px;width:100%;border:1px solid black"/>
<script type="text/javascript" src="resources/dojo/dojo.js"
djConfig="isDebug:false,parseOnLoad:true"></script>
<script>
dojo.require("dojo.data.ItemFileReadStore");
dojo.require("dojox.grid.DataGrid");
dojo.require("dojo.parser");
dojo.require("dijit.form.TextBox");
dojo.require("dijit.layout.ContentPane");
dojo.require("dojox.data.StoreExplorer");
var jsonStore;
dojo.xhrGet({
url: "json.jsp",
handleAs: "json",
//handleAs: "text",
load: populateDiv,
error: function(type, data, evt){alert("error");}
});
function populateDiv(dataItems) {
console.log(dataItems);
jsonStore = new dojo.data.ItemFileReadStore(dataItems);
}
</script>
<div id="strexplr" dojoType="dojox.data.StoreExplorer" store="jsonStore"
style="height:500px;width:100%;border:1px solid black"/>
这是我的JSP页面。 (原谅格式化)
<%@ page language="java" contentType="application/json; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="json" uri="http://www.atg.com/taglibs/json" %>
<json:object>
<json:property name="identifier" value="customer_name"></json:property>
<json:property name="label" value="customer_address"></json:property>
<json:array name="items" var="item" items="2">
<json:object>
<json:property name="customer_name" value="nancy"></json:property>
<json:property name="customer_address" value="LA"></json:property>
</json:object>
<json:object>
<json:property name="customer_name" value="ken"></json:property>
<json:property name="customer_address" value="CA"></json:property>
</json:object>
</json:array>
</json:object>
使用Firefox插件获取JSON对象,我能够确定我有一个有效的JSON对象。以下是使用该插件的JSP页面的输出。
<json:object>
<json:property name="identifier" value="customer_name"></json:property>
<json:property name="label" value="customer_address"></json:property>
<json:array name="items" var="item" items="2">
<json:object>
<json:property name="customer_name" value="nancy"></json:property>
<json:property name="customer_address" value="LA"></json:property>
</json:object>
<json:object>
<json:property name="customer_name" value="ken"></json:property>
<json:property name="customer_address" value="CA"></json:property>
</json:object>
</json:array>
</json:object>
答案 0 :(得分:0)
查看截图 - 似乎你没有主题。你需要链接到dijit主题之一的相应css,然后将主题名称作为一个类添加到你的html主体。
另外,您可能只应在创建商店后为StoreExplorer设置商店。
你可以通过直接将网址提供给商店来避免你的xhrGet。
如果您还没有这样做,请查看the store explorer test page。