我正在学习Struts2并且在使用Jquery序列化提交表单时遇到以下问题。我有一个动作类,我有一个名为Policy的对象,策略类有一组字段,如下所示。使用jquery ajax我想在我的Action类中设置一个json字符串,并希望将其反序列化为一个对象。
我尝试了多少,我无法设置我在动作类中定义的字符串。以下是代码
Class CassPolicy{
String policyNumber;
String name;
//getsets for members
}
动作:
Class PolicyAction{
String cassPolicyString;
CassPolicy cassPolicy = new CassPolicy();
//getsets for members
String save(){
//In save method I want to convert the policyString to policy object
//policyString always returns null
}
}
JSP:
$.ajax({
url:PolicyAction.action,
type:'post',
data:$("#policyForm").serialize(),
async:true,
success:function(data){
}
});
<s:form id="policyForm">
<s:textfield name="cassPolicy.policyNumber" label="policyNumber"></s:textfield>
<s:textfield name="cassPolicy.name" label="name"></s:textfield>
</s:form>
我甚至试过像data:{cassPolicyString:$("#policyForm).serialize()}
有人可以帮助我指出正确的方向或实现我的任务的正确方法吗?
答案 0 :(得分:0)
我终于弄明白了..问题是表单序列化没有给出json格式。我使用下面链接中的代码将我的表单序列化为json对象,并在我的struts.xml中的操作中添加了一个拦截器引用元素,最后将我的表单值分配给cassPolicy对象。