Struts2不会自动封装由jQuery的ajax提交过来的表单数据

我是想用ajax实现查询功能,由于查询条件比较多,所以就在action类中建了一个search对象用于接受所有的查询条件,但用户输入查询条件并按下查询按钮时,我会调用js... 我是想用ajax实现查询功能,由于查询条件比较多,所以就在action类中建了一个search对象用于接受所有的查询条件,但用户输入查询条件并按下查询按钮时,我会调用js函数,通过ajax提交该查询表单,现在用的是$("form").serialize()来提交数据,可纳闷的是action类中的search对象始终都不能接受到提交过来的数据。个人试过,如果改用$("form").submit();便能将数据提交并做封装。。。。现在是这么都弄不明白是嘛回事啊,现在只能求助万能的度娘帮忙了

说来抱歉啊,个人没有什么可犒劳大侠您的
ajax实现代码:
如果将下面这行代码中的serialize()改成submit()是没有问题的,但这样一来就不再是异步请求了,也就达不到预期效果了:

$.ajax({type:"POST",url:"pms_pig!search.action",date:val.serialize(),
dateType:"html",success:function(msg){

$("#zhuti #table table tbody").empty().html(msg);
$("#zhuti #table table input").parent().css("width","30px");
$("#zhuti #table table tr:odd").css("background-color","#CDE8CC");
}});
展开
 我来答
熙七年吩b3
2015-05-20 · TA获得超过101个赞
知道小有建树答主
回答量:66
采纳率:0%
帮助的人:56.6万
展开全部
我没做过类似的东西,我提供一个方案你去试试,用struts2的modelDriven拦截器封装模型驱动。
做法是:
1,在你的控制器里实现一个接口ModelDriven
2,实现这个接口后会添加一个未实现的方法,getMode
3,在getMode方法内,添加一句代码
public Object getMode(){
search = new Serrch();
return search;
}
注意,你的search属性应该是你的全局变量。不用做setget方法即可。
4,这样你用ajax提交后可以试试,search有没有属性值了。如果还没有我也没有解决方案了。
更多追问追答
追问
我的action有实现这个模型驱动,而且这个search就是在模型中定义的,之所以没这么说,我是想简化问题
追答
你的页面form表单内的写法呢,用model的写法为 

如果写成,肯定是不好使的。写成这样的话,不要用modelDriven拦截器
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式