我们在做前端显示时,常常需要用ajax技术来从后台取json数据,今天我们来说说如果使用ajax来从action里取数据。
方法有很多种,在我刚刚接触struts2时,我是采用struts2的一个插件,对应的包主要是struts2-json-plugin-2.3.4.1.jar(可能还需其他包)。
这种方法很简单,但用起来不够灵便。二话不说,先上代码。
struts.xml:
<package name="json" extends="json-default" namespace="/json"> <action name="getJson" class="com.lee.cnblogs.JsonAction"> <result name="success" type="json"></result> </action> </package>
action:
public class JsonAction extends ActionSupport { private String showData; private String hideData; public String getShowData() { return showData; } public void setShowData(String showData) { this.showData = showData; } @JSON(serialize = false) //如果有这行注解,表示当前属性不返回给jsp public String getHideData() { return hideData; } public void setHideData(String hideData) { this.hideData = hideData; } public String execute() { showData = "showData"; hideData = "hideData"; return SUCCESS; } }
jsp
$(document).ready(function() { $.ajax({ async: false, type: ‘POST‘, dataType: "json", url:" json/getJson.action", success: function(data) {
//取出来的是一个json对象,需要进行转换。可采用data.toJSONString(),但需要引人json.js包。 $.each(data, function(i, item) { alert(item); }); }, failure: function() { alert("fail"); } }); });
注:具体的配置仍需修改,这里就不一一阐述了。
Struts2 扩展结果集(ajax取action的数据)(1),布布扣,bubuko.com
Struts2 扩展结果集(ajax取action的数据)(1)
原文:http://www.cnblogs.com/wakelee/p/3661070.html