通过jquery提交时,Spring表单无法绑定值
我有一个带有两个表单的JSP。form1用于搜索结果。form1返回的结果如form2所示。form2用于编辑结果。 -用于搜索号码的fomr1通过jquery提交时,Spring表单无法绑定值,jquery,spring-mvc,Jquery,Spring Mvc,我有一个带有两个表单的JSP。form1用于搜索结果。form1返回的结果如form2所示。form2用于编辑结果。 -用于搜索号码的fomr1 <form:form name="form1" modelAttribute="form1" method="POST" action="doNumEnquiry.do" id="form1"> <form:input path="transactionID" type="text"
<form:form name="form1" modelAttribute="form1" method="POST" action="doNumEnquiry.do" id="form1">
<form:input path="transactionID" type="text" id="trnxRef"/>
<input type="submit"name="operation" id="searchBtn" value="search"/>
<form:form>
<form:form name="form2" modelAttribute="form2" method="POST" id="form2">
<c:forEach items="${form2.numberList}" var="obj">
<form:radiobutton path="indexRadio" value="${obj.index}" id="indxRadio"/>
<c:out value="${obj.customerRef}" />
<input type="button" id="${obj.index}" name="operation" value="Go"/></span>
</c:forEach>
</form:form>
</body>
两个表单都在调用NumberController。Form1是控制器的doNumberSearch()方法的模型属性。以下是控制器方法
@RequestMapping(value="doNumEnquiry.do", method=RequestMethod.POST, params="operation=Search")
public ModelAndView doNumEnquiryWithSearchCriteria(@ModelAttribute("form1") NumberForm form, BindingResult result, HttpServletRequest request) {
numberForm = nhNumberService.getNumEnquiryList(nhForm);
return new ModelAndView("numberSearch", "form2", numberForm);
}
Form2是控制器的doModifyNumberSearch()方法的模型属性。当我试图从模型属性form2获取indexRadio值时,它返回为null。我的服务类引发空指针异常的原因
@RequestMapping(value="doModifyNumEnq.do",
method=RequestMethod.POST,params="operation=Go")
public ModelAndView doModifyNumberRequest(@ModelAttribute("form2") NumberForm form,
BindingResult result,HttpServletRequest request){
if(form.getIndexRadio() !=null){
indexRad=form.getIndexRadio();
}
numberForm = nhNumberService.getNumEnquiryList(indexRad);
return new ModelAndView("exoectedresult", "form", numberForm);
}
请帮我解决这个问题。我认为是表单元素数据(而不是表单本身)发布到服务器上。您可以使用@RequestParam直接在控制器方法中检索无线电值,如下所示
@RequestMapping(value="doModifyNumEnq.do",method=RequestMethod.POST,params="operation=Go")
public ModelAndView doModifyNumberRequest(
@RequestParam("indexRadio") String indexRad,
BindingResult result,
HttpServletRequest request){
numberForm = nhNumberService.getNumEnquiryList(indexRad);
return new ModelAndView("exoectedresult", "form", numberForm);
}
请修复您的格式,并添加
NumberForm
的源代码,以便我们可以提供帮助如果我必须将单选按钮的值从后端设置到页面,那么另一种方法如何?
@RequestMapping(value="doModifyNumEnq.do",method=RequestMethod.POST,params="operation=Go")
public ModelAndView doModifyNumberRequest(
@RequestParam("indexRadio") String indexRad,
BindingResult result,
HttpServletRequest request){
numberForm = nhNumberService.getNumEnquiryList(indexRad);
return new ModelAndView("exoectedresult", "form", numberForm);
}