Struts2 扩展结果集(ajax取action的数据)(1)

我们在做前端显示时,常常需要用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"); } }); });

 

注:具体的配置仍需修改,这里就不一一阐述了。

 

posted on 2014-04-12 20:10  洋葱lee  阅读(852)  评论(0)    收藏  举报

导航