невозможно отобразить данные в компоненте DOJO FilteringSelect с помощью ItemFileReadStore - PullRequest
0 голосов
/ 04 июля 2011

Я не могу показать данные в компонент FilteringSelect DJO с помощью ItemFileReadStore.Пожалуйста, помогите

<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>

Это мой сервлет Программа:

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 Ответ

1 голос
/ 05 июля 2011

Ваш сервлет должен выводить данные json в следующем формате:

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

Используйте библиотеку JSON, которую вы использовали в сервлете, для генерации такого типа данных json.

После этого укажитеатрибут searchAttr, равный dijit.form.FilteringSelect, чтобы указать ему фильтровать этот атрибут в магазине.

<div dojoType="dijit.form.FilteringSelect" id="selectaccount" store="orgStore"   name="groupId" id="groupId" searchAttr="name" label="Select Account:"  >MyCombo</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...