我是靠谱客的博主 独特冬瓜,这篇文章主要介绍Struts2 结合 Ajax 实现异步交互数据,现在分享给大家,希望可以做个参考。

struts2使用ajax

与文件下载类似,在struts.xml 需要配置的结果类型为stream。

<package name="default" namespace="/" extends="struts-default">
    <action name="XXX" class="XXXAction" method="do()">
    <result type="stream" name="success">
        <param name="contentType">text/html</param>
        <param name="inputName">inputStream</param>
    </result>
</package>

注意两个属性contentType 和 inputName,
其中inputName 对应的值 inputStream 为在Action中的属性。
其他配置为一般配置,没有什么差异。
下面来看Action中配置

public class XXXAction extends ActionSupport{

    private InputStream inputStream;
    //需要提供set方法
    public InputStream getInputStream() {
        return inputStream;
    }
    public String do() {
        try {
            //此处填写业务代码
            ....
            //
            inputStream = new ByteArrayInputStream("1".getBytes("UTF-8"));
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "success";
    }
}

在jsp中可以使用JQuery的ajax方法 异步来调用action中方法

$(function(){
    //按钮单击事件
    $(".btn").click(function(){
        var url = this.href;
        var args = {"time":new Date()};
        //jquery的ajax方法
        $.post(url, args, function(data){
            //此为回调函数,在函数中处理action中返回的数据
            //也就是inputStream 对应的值
        }); 
    });     
})

基本使用就是这样,如果涉及到传递对象或者集合,建议采用json 结合ajax。
后台action将数据封装成json对象传递。可以借助第三方插件或者struts自带的
json-plugin。

最后

以上就是独特冬瓜最近收集整理的关于Struts2 结合 Ajax 实现异步交互数据的全部内容,更多相关Struts2内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(121)

评论列表共有 0 条评论

立即
投稿
返回
顶部