无法使用ItemFileReadStore将数据显示到FilteringSelect DOJO组件中

时间:2011-07-04 11:09:13

标签: json dojo

我无法使用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());


    }



}

1 个答案:

答案 0 :(得分:1)

您的servlet应按以下格式输出json数据:

{
   label : "name",
   items : [
       {name : "Name1"},
       {name : "Name2"}
   ]
}

使用您在servlet中使用的JSON库来生成这种json数据。

之后,指定searchAttr的{​​{1}}属性,告诉它过滤商店中的此属性。

dijit.form.FilteringSelect