2 つのフォームを持つ JSP があります。form1 を使用して結果を検索します。form1 によって返された結果が form2 に表示されます。form2 は、結果を編集するために使用されます。-番号を検索するためのformr1
<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>
編集用の fomr2 ここにコードを入力`番号
<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>
[Go butting] をクリックすると、Jquery 関数が呼び出されて form2 が送信されます。
$("input[type=button][value=Go]").click(function() {
var urlVal="doModifyNumEnq.do";
$("#form2").attr("action",urlVal+"?operation=Go");
$("#form2").submit();
});
どちらのフォームも 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);
}
問題を解決するために私を助けてください。