struts2 配置 jquery ajax 调用 action 返回JSON 数据

来源:互联网 发布:建筑设计师 知乎 编辑:程序博客网 时间:2024/06/09 14:37

Struts2的action注意的地方:

1、Ajax传过来的数据和需要传到后台的数据都要在有get set方法。

2、action的方法,不能有参数

JAVA方法:

public class OrgManagerAction {public String pId;public List<Map<String,Object>> treeJson;public OrgManagerAction(){}public String getOrgListBypId(){OrgManagerServiceImpl orgService = new OrgManagerServiceImpl();treeJson = orgService.getOrgBypId(pId);return "success";}public String getpId() {return pId;}public void setpId(String pId) {this.pId = pId;}public List<Map<String,Object>> getTreeJson() {return treeJson;}public void setTreeJson(List<Map<String,Object>> treeJson) {this.treeJson = treeJson;}}

Struts.xml配置:

注意事项:

1、如果返回json类型的数据,type="json"  (要导入 jarstruts2-json-plugin-2.1.8.1.jar)返回的数据自动转换成json数据

2、 param 中的treeJson 为action中要返回的数据

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"    "http://struts.apache.org/dtds/struts-2.1.7.dtd"><struts><package name="main" extends="json-default" ><action name="login" class="com.superplan8.core.action.LoginAction" method="login"><result name="success" type="dispatcher">/sysmanage/default/MainPage.jsp</result></action><action name="getOrgListBypId" class="com.superplan8.core.action.OrgManagerAction" method="getOrgListBypId"><result name="success" type="json"><param name="root">treeJson</param></result></action></package></struts>

js:jqueryajax的post方法

    $.post("getOrgListBypId?pId=0",{'pId':node.id},function(data){  $('#org_list').datagrid('loadData',eval(data));  });

还有一种返回JSON的方法,可以用到SpringMvc中

1、需要导入 jackson-all-1.6.4.jar

2、Java中转JSON数据:

ObjectMapper objectMapper = new ObjectMapper();String orgJsion = null;try { orgJsion = objectMapper.writeValueAsString(rootList); } catch (Exception e) {e.printStackTrace();}



0 0
原创粉丝点击