向struts2传递数组

gaochc 2009-12-14 11:26:40
各位:
我在jsp 页面通过javascript 得到页面元素保存到数组中,比如table 某列列值。然后准备通过form表单提交方式传递到struts2后台,但是页面提示404错误,明显看出url 错误,请问,大家是怎么处理向struts2 传递数组这种事情的,代码如下:
//这是得到某个table中某列值,并保存到数组wheelCodes中
var wheelCodes = new Array();
for(var i=1;i<row.length;i++){
wheelCodes[i-1]= myTable.rows[i].cells[2].innerHTML;
}

form1.action = "/DaccAssist/wheel/dwrBatchSave!dwrBatchSave.action&wheelCodes="+wheelCodes;
form1.submit();

这是在页面显示的url地址
http://localhost:8000/DaccAssist/wheel/dwrBatchSave!dwrBatchSave.action&wheelCodes=0911111006,0911111007

可以肯定的是url 错误了,可是谁能告诉我通过什么方式处理传递数组参数呢?
我倒是考虑处理一下,将数组元素组织一下,形成0911111006,0911111007,...这样的字符串,然后在后台通过接受string 参数值,然后通过spilt 得到分别的值,但是我不知道是不是有更好的方式呢?


谢谢大家了,有知道的帮助提醒一下,怎么传递,后台怎么接受!!
...全文
2784 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ChangeZ_ 2011-08-30
  • 打赏
  • 举报
回复
谢谢redlotus_lyn
redlotus_lyn 2009-12-15
  • 打赏
  • 举报
回复
1).Action内容:
1/.private Map<String, User> users;
2/.users属性有get/set方法。
2).Jsp写法:
Action属性名[key值].属性名。即users['0'].username

注:在刷新画面时,必须通过用户Action启动画面,否则出错。
redlotus_lyn 2009-12-15
  • 打赏
  • 举报
回复
我看看,我记得有一种方法,先找找。。。
365810247 2009-12-14
  • 打赏
  • 举报
回复


你直接把第二列name="";命名相同的名字.
在Action 中定义一个与页面相同的参数.提供get,set.然后在相应的方法中get后分隔.
String [] params=spilt(",");

params就是你要的数组了!


crazylaa 2009-12-14
  • 打赏
  • 举报
回复
数组一般都是按你这样做,直接传数组参数是不可能的。但是你要考虑到url有长度限制。所以可以变通一下,在界面定义一hidden,把这个字符串放进去,界面form的method属性设置为post,采用post方式,就不会有长度限制了。
gaochc 2009-12-14
  • 打赏
  • 举报
回复
呵呵,url 中间的& 换成?号,不过还是不知道怎么将数组传递到struts2后台去

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧