struts1 怎么在action中获取页面post的参数

前台传的参数超过4k,method=post
在action中怎样接这个参数

String datas = (String) request.getParameter("datas");时总是4k的,其余部分被截掉了
[b]问题补充:[/b]
页面是5个表拼的所以,一行多个input,目前想到的只是走传参数,
把几十个对象封成json。用vs2008的跟了一下页面,是post
[b]问题补充:[/b]

[img]http://dl.iteye.com/upload/attachment/191616/6db4e8f7-d501-35f6-89b8-f00580508f8a.jpg[/img]

[b]问题补充:[/b]
用js提交的
with (document.getElementsByName("OriginalView")) {
// OriginalView.method = "POST";
OriginalView.action = "/OriginalViewAction.do?methods=updateOrigDates&year=<%=year%>&month=<%=month%>&datas="+JSON.stringify(myMap);
OriginalView.submit();
}
[b]问题补充:[/b]
psot应该可以的,js貌似不能给的value赋值吧

我晕,你的datas都是以url传参数的方式发送到服务端,那当然不行的

url的长度是有限制的,不能超过4k吧

你应该在form里搞一个隐藏域,把JSON.stringify(myMap)得到的值以隐藏域的方式提交到后台

不可能吧,你的一定是get请求才会只能4k,自己仔细查代码

如果是form表单上传的话不应该会出现这类问题。
如果是使用的Ajax控件那么通常要设置XMLHttp
"content-type","application/x-www-form-urlencoded
当然,类似jquery等框架都做过封装,通常也不会碰到这类问题

记得以前用input 提交只能提交一部分数据 后来换成textarea 了

还有就是request.getparameter 本来就是String 吧 不用转

你是用ajax提交表单的?

修改你的httpRequest 改为post提交!!!

js当然可以给的value赋值的

仔细看 OriginalView.action = "/OriginalViewAction.do?methods=updateOrigDates&year=<%=year%>&month=<%=month%>&datas="+JSON.stringify(myMap);

把 JSON.stringify(myMap) 里的数据存到表单元素里 使用post提交

lovewhzlq正解

给隐藏表单域赋值是可以的 试试隐藏表单域~~ 吧