日期:2014-05-16 浏览次数:20628 次
在struts2的2.3.1.2版本中,彻底抛弃了google的相关代码:
?
所有网上有很多人还是施用谷歌的插件,但是实在是没有必要,其麻烦。所以用strtus2官方给插件struts2-json-plugin.
,将返回页面的属性直接作为Action类的属性,并提供setter/getter方法。具体实例代码如下:
?
package com.suntrustit.schema.action.ajax; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.ParentPackage; import org.apache.struts2.convention.annotation.Result; import org.apache.struts2.json.annotations.JSON; import com.opensymphony.xwork2.ActionSupport; @ParentPackage("json-default") public class AjaxAction extends ActionSupport { private String result;//用于向页面返回结果 private String param; //用于接收页面传来的值 @JSON(name="result")//此标签可以不加 public String getResult() { return result; } public void setResult(String result) { this.result = result; } @Action(value="/ajax", results={ @Result(type="json") }) public String doAjax() throws Exception { result = param + " my Ajax"; return SUCCESS; } public String getParam() { return param; } public void setParam(String param) { this.param = param; } }
?注意:由于属性“result”作向页面返回展示的值,在其方法上加“@Json(name='result')”标签,当然也可以不加。
?
页面代码:
?
<script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript"> $(function() { $("#btn").click(function() { var txt = $("#txt").val(); alert(txt); $.ajax({ url:"ajax.action?param=" + txt, dataType:"json", type:"POST", success:function(data) { alert(data.result) } }) }) }) </script>