我无法使用ItemFileReadStore将数据显示到FilteringSelect DJO组件中。 请帮忙
<html>
<head>
<link rel="stylesheet" type="text/css"
href="http://ajax.googleapis.com/ajax/libs/dojo/1.6/dijit/themes/claro/claro.css"/>
<script src="http://ajax.googleapis.com/ajax/libs/dojo/1.6/dojo/dojo.xd.js"
djConfig="parseOnLoad: true">
</script>
<script>
dojo.require("dijit.form.DateTextBox");
dojo.require("dojox.layout.TableContainer");
dojo.require("dijit.form.Button");
dojo.require("dijit.form.FilteringSelect");
dojo.require("dojo.data.ItemFileReadStore");
dojo.require("dijit.form.ComboBox");
</script>
<script>
function callMe()
{
}
</script>
</head>
<body class="claro">
<div dojoType="dojo.data.ItemFileReadStore" jsId="orgStore" url="http://localhost:8099/Hi/MyServlet"></div>
<div dojoType="dijit.form.FilteringSelect" id="selectaccount" store="orgStore" name="groupId" id="groupId" label="Select Account:" >MyCombo</div>
</body>
</html>
这是我的servlet程序:
import org.json.JSONObject;
public class MyServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("Saiiiiiiiiiiiiii");
response.setContentType("text/x-json;charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
List list = new ArrayList();
for(int i =0 ;i<=10;i++)
{
list.add("Test");
}
JSONObject json = new JSONObject();
response.getWriter().write(json.toString());
}
}
答案 0 :(得分:1)
您的servlet应按以下格式输出json数据:
{
label : "name",
items : [
{name : "Name1"},
{name : "Name2"}
]
}
使用您在servlet中使用的JSON库来生成这种json数据。
之后,指定searchAttr
的{{1}}属性,告诉它过滤商店中的此属性。
dijit.form.FilteringSelect