前台Ajax传输JS数组到Struts2

发布于 2021-11-24 03:50:52 字数 1286 浏览 845 评论 6

前台通过jQuery传输JS对象数组,Struts2 Action中如何解析?

我的代码:

$("#myButton").live("click",function() { 
        // k为JS对象数组
        var k=MYLIST.getSelected();
        var l=new Array();
        for(var d=0;d<k.length;d++) {
            var f={
                isDir:k[d].getType()=="file"?0:1,
                hId:k[d].getType()=="file"?k[d].getHId():0,
                path:k[d].path()
            };
            l.push(f);

        }

        var g=new class_filelist_file_operations();
        g.setPathNodes(l);

        var d = {
            act : "td",
            dlpathlist : g.getPathNodes()
        };

        // 以下部分是自己封装的jQuery Ajax 
        var c = new my.FService();
        c.url = "file_tDownload";
        c.myAJAX({
            data : d, // 传输到Action的数据
            success : function(h) {
            },
            error : function(h) {
            }
        })
});

通过调试抓包查看传输到后台的数据格式为:

act:tardown
dlpathlist[0][isDir]:1
dlpathlist[0][hId]:0
dlpathlist[0][path]:/testtest/测试新建文件夹
dlpathlist[1][isDir]:0
dlpathlist[1][hId]:20
dlpathlist[1][path]:/testtest/Java程序员要去的网站.txt

请问我在Struts2 Action中如何获得 dlpathlist 传输的JS对象数组中的值?谢谢大家~

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

命硬 2021-11-24 18:20:18

最好的方法是先在Ajax参数中将数组转成json字符串,用json.js中的JSON.encode(d)方法,然后在Action中接收到这个字符串参数用gson的fromJson放法将其解析成ArrayList即可。

如此安好 2021-11-24 18:20:18

我也碰到了同样的问题,PO主是如何解决的?

网名女生简单气质 2021-11-24 18:19:54

后台定义个数组直接接收就行。跟传递其他值一样

奢望 2021-11-24 18:13:25

安装兄弟所说如此添加,Debug时,断点并未进入dlpathlist的setter方法:public void setDlpathlist(List<Map> dlpathlist) { this.dlpathlist = dlpathlist; } dlpathlist 仍然没有值

不再见 2021-11-24 18:10:39

我也碰到了同样的问题,PO主是如何解决的?

恋你朝朝暮暮 2021-11-24 10:52:01

此问题已经解决,但一直未上来更新。

前端 如下修改dlpathlist 的值:将g.getPathNodes()解析出JSON字符串。问题解决。

var d = {

 act : "td",

 dlpathlist : JSON.stringify(g.getPathNodes())

};

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文