struts2 返回json数据(结合Extjs)
2012-09-06 11:17
555 查看
本例使用struts2版本 struts-2.1.8.1
首先导入必要的jar包:
[b]配置web.xml:[/b]
[xhtml]
view plaincopyprint?
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
[b][b][b]最后配置struts.xml文件:[/b][/b][/b]
[b][/b]
[xhtml]
view plaincopyprint?
<package name="jsonTest" extends="json-default">
<action name="test" class="bll.Test" method="getList">
<result type="json">
<param name="root">responseJson</param>
</result>
</action>
</package>
如果设置了root,结果如下:
[xhtml]
view plaincopyprint?
{"rows":[{"name":"Mic0","id":0},{"name":"Mic1","id":1},{"name":"Mic2","id":2}],"totalCont":3}
调用说明: dataUrl : 'test.action' test就是action中的name属性。
[b]返回数据:[/b]
[b]
[/b]
[b][b]效果图:[/b][/b]
[b][b]
[/b][/b]
首先导入必要的jar包:
[b]配置web.xml:[/b]
[xhtml]
view plaincopyprint?
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
[java] view plaincopyprint? import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.opensymphony.xwork2.Action; public class Test { public Map responseJson; public Map getResponseJson() { return responseJson; } public void setResponseJson(Map responseJson) { this.responseJson = responseJson; } public String getList(){ Map<String, Object> map = new HashMap<String, Object>(); List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); for(int i=0;i<3;i++){ Map<String, Object> m = new HashMap<String, Object>(); m.put("id", i); m.put("name", "Mic"+i); list.add(m); } map.put("rows", list); map.put("totalCont", 3); this.setResponseJson(map); return Action.SUCCESS; } } import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.opensymphony.xwork2.Action; public class Test { public Map responseJson; public Map getResponseJson() { return responseJson; } public void setResponseJson(Map responseJson) { this.responseJson = responseJson; } public String getList(){ Map<String, Object> map = new HashMap<String, Object>(); List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); for(int i=0;i<3;i++){ Map<String, Object> m = new HashMap<String, Object>(); m.put("id", i); m.put("name", "Mic"+i); list.add(m); } map.put("rows", list); map.put("totalCont", 3); this.setResponseJson(map); return Action.SUCCESS; } }[b][b] [/b][/b]
[b][b][b]最后配置struts.xml文件:[/b][/b][/b]
[b][/b]
[xhtml]
view plaincopyprint?
<package name="jsonTest" extends="json-default">
<action name="test" class="bll.Test" method="getList">
<result type="json">
<param name="root">responseJson</param>
</result>
</action>
</package>
[b][b] [/b][/b] [b][/b] [b][/b] [b][/b] [b][/b] [b][/b] [b][/b] [b][/b] struts.xml配置说明: 1,<result type="json"> 这句说明返回类型为json,所以extends设置为"json-default"。 2,<param name="root">responseJson</param> responseJson对应返回数据的根,如果省略这行返回的结果如下: [javascript] view plaincopyprint? {"list":"success","responseJson":{"rows":[{"name":"Mic0","id":0},{"name":"Mic1","id":1},{"name":"Mic2","id":2}],"totalCont":3}} {"list":"success","responseJson":{"rows":[{"name":"Mic0","id":0},{"name":"Mic1","id":1},{"name":"Mic2","id":2}],"totalCont":3}}
如果设置了root,结果如下:
[xhtml]
view plaincopyprint?
{"rows":[{"name":"Mic0","id":0},{"name":"Mic1","id":1},{"name":"Mic2","id":2}],"totalCont":3}
[javascript] view plaincopyprint? Ext.onReady(function(){ new Mic.GridPanel({ title : 'test', width : 500, height : 410, dataUrl : 'test.action', dwrStore : false, colMapping : ['id','name'], headers : [ { header: "Id", width: 60, dataIndex:'id'}, { header: "名称", width: 150, dataIndex:'name'} ] }).render(Ext.getBody()); }); Ext.onReady(function(){ new Mic.GridPanel({ title : 'test', width : 500, height : 410, dataUrl : 'test.action', dwrStore : false, colMapping : ['id','name'], headers : [ { header: "Id", width: 60, dataIndex:'id'}, { header: "名称", width: 150, dataIndex:'name'} ] }).render(Ext.getBody()); });
调用说明: dataUrl : 'test.action' test就是action中的name属性。
[b]返回数据:[/b]
[b]
[/b]
[b][b]效果图:[/b][/b]
[b][b]
[/b][/b]
相关文章推荐
- struts2 返回json数据(结合Extjs)
- Struts2与ExtJs Grid结合使用json格式数据
- Extjs与Struts2交互,返回JSON数据的两种实现方式
- Extjs与Struts2交互,返回JSON数据的两种实现方式
- ssh2与ajax结合之返回json数据异常:org.apache.struts2.json.JSONException
- struts2拦截器如何返回json数据?如何使用Jquery(ExtJs)接收拦截器返回的数据?
- ExtJs的Grid组件配合struts2返回json数据
- 与ASP.NET服务器端结合返回JSON数据实现ExtJS GridPanel客户端分页
- Struts2使用jquery ajax返回json数据
- Struts2返回JSON数据的具体应用范例
- java后台返回前端数据的方式json,html 组装json的技术struts2-json-plugin,fast-json,Gson,手动拼接
- 如何指定struts2返回我们需要的json类型数据?
- Struts2返回JSON数据的具体应用范例 (授人以渔)
- 深入了解Struts2返回JSON数据的原理及具体应用范例
- struts2 返回json数据
- struts 2中使用json 返回数据给Extjs
- Struts2返回JSON数据的具体应用范例
- Struts2返回JSON数据的具体应用范例
- Struts2返回JSON数据
- Java之美[从菜鸟到高手演练]之深入了解Struts2返回JSON数据的原理及具体应用范例