浏览 2832 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (4)
|
|
---|---|
作者 | 正文 |
发表时间:2010-10-20
最后修改:2010-10-22
jsId="jsonStore" url="gridData.txt"> div> 如果url是一个action,并且action的返回类型是json的,该如何接收呢? 运行代码: 一、Action 中的接收类及返回json: public String getJsons(){ HttpServletResponse response=ServletActionContext.getResponse();//响应 response.setCharacterEncoding("UTF-8"); List li=null; String entKey=ServletActionContext.getRequest().getParameter("outEntInfo"); String srhType=ServletActionContext.getRequest().getParameter("srhType"); if(entKey==null){ entKey=""; } if(srhType=="MC"||srhType.equals("MC")){ li=this.managerfactory.getLedgeroutmanager().getEntByName(entKey);//对企业营业执照的查询 } if(li==null){} else{ System.out.println(li.size()); JSONArray ja = JSONArray.fromObject(listToJsonArray(li,srhType)); System.out.println(ja.size()); if(ja==null){} String jsonStr="{identifier:name,items:"; jsonStr+=ja.toString(); jsonStr+="}"; //System.out.println(jsonStr); try { Writer writer = response.getWriter(); writer.write(jsonStr); writer.flush(); writer.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return SUCCESS; } /** * 把JSONObject包装array * * @throws ParseException */ @SuppressWarnings("null") private JSONArray listToJsonArray(List<EnterpriseInfoView> rList,String srhType){// throws ParseException JSONArray ja=new JSONArray(); try{ JSONObject jo = new JSONObject(); for(int i=0;i<rList.size();i++){ String entName=""; String entNO=""; if(srhType=="MC"||srhType.equals("MC")){//企业名称查询 entName=rList.get(i).getEntName(); jo.put("name", entName); } else{//企业营业执照查询 entNO=rList.get(i).getId(); jo.put("name", entNO); } ja.add(jo); } } catch(Exception e){ e.printStackTrace(); } return ja; } 二、JSP页面: <div dojoType="dojo.data.ItemFileReadStore" url="auto.do?type=test&srhType=MC" jsId="reloadableStore2" urlPreventCache="true" clearOnClose="true" > </div> <div dojoType="dijit.form.ComboBox" store="reloadableStore2" searchAttr="name" autocomplete="false" ignoreCase="true" hasdownArrow="false" searchDelay="1" pageSize="20"> </div> Struts。xml文件配置: <action name="auto" class="LedgerAddOut"> <result type="json" name="success"></result> </action> 三、运行 成功了,呵呵 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-10-22
无人回答 ,目前,也已成功运行。dojo combobox与dojo.data.ItemFileReadStore可以获得action的值,故将代码贴出。
结贴! |
|
返回顶楼 | |