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");
}}); 展开
说来抱歉啊,个人没有什么可犒劳大侠您的
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");
}}); 展开
展开全部
我没做过类似的东西,我提供一个方案你去试试,用struts2的modelDriven拦截器封装模型驱动。
做法是:
1,在你的控制器里实现一个接口ModelDriven
2,实现这个接口后会添加一个未实现的方法,getMode
3,在getMode方法内,添加一句代码
public Object getMode(){
search = new Serrch();
return search;
}
注意,你的search属性应该是你的全局变量。不用做setget方法即可。
4,这样你用ajax提交后可以试试,search有没有属性值了。如果还没有我也没有解决方案了。
做法是:
1,在你的控制器里实现一个接口ModelDriven
2,实现这个接口后会添加一个未实现的方法,getMode
3,在getMode方法内,添加一句代码
public Object getMode(){
search = new Serrch();
return search;
}
注意,你的search属性应该是你的全局变量。不用做setget方法即可。
4,这样你用ajax提交后可以试试,search有没有属性值了。如果还没有我也没有解决方案了。
更多追问追答
追问
我的action有实现这个模型驱动,而且这个search就是在模型中定义的,之所以没这么说,我是想简化问题
追答
你的页面form表单内的写法呢,用model的写法为
如果写成,肯定是不好使的。写成这样的话,不要用modelDriven拦截器
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询