struts2中输出json,用jquery得到结果

目的,在页面上点击按钮,让后端执行命令,后端反馈json,前端解晰并提出alter框

 

1、在struts2中,较方便的json输出,是通过google jsonplugin,下载这个包,附件中有。

 

2、在struts.xml 继承josn

extends="struts-default,json-default"

 

可以多继承

 

3、新建ajax.struts.xml,专门用于异步请求

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
	<package name="ajax" namespace="/ajax" extends="default">
		<action name="ajax_*" class="com.my.ajax.action.AjaxJsonAction" method="{1}">
			 <result type="json" >
			 	<param name="root">result</param>
			</result>
		</action>		
	</package>
</struts>

 

 

4、新建AjaxJsonAction类,用于后端处理得到json

/**
 * @author 锅巴
 * @date 2011-3-6
 * @description 
 */
public class AjaxJsonAction extends ActionSupport{

	private String result; 
	
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	public String ajaxRequest() throws Exception {
		JSONObject obj = null;
		try{
			obj = JSONObject.fromObject(getJsonMap());
		}catch(Exception e){
			Map<String,String> map = new HashMap<String,String>();
			map.put("result", "系统错误");
			obj = JSONObject.fromObject(map);
		}
		result = obj.toString();
		return SUCCESS;
		
	}

	public String getResult() {
		return result;
	}
	
	private Map<String,String> getJsonMap(){
		Map<String,String> result = new HashMap<String, String>();
		result.put("result", "处理成功");
		return result;
	}

}

 

 

5、页面中的处理,用jquery

//f_get
function f_ajax(id){
	$.ajax({
		  url: "/ajax/ajaxRequest.html",
		  data: 'mobile='+mobile,
		  cache: false,
		  success: function(data){
			  var f=jQuery.parseJSON(data);
			  //result是json中的键名
			  alert(f.result);
				
		  }
	});
}

 

  <a href="#" οnclick="f_ajax('13088777999')">发短信</a>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值