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

2 篇文章 0 订阅
2 篇文章 0 订阅

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();
		}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值