Класс формы
public class DocumentCaptureForm {
private final static Logger logger = Logger.getLogger(DocumentCaptureForm.class);
private String artifactCaptureJSON;
private String isBackside;
public String getArtifactCaptureJSON() {
return artifactCaptureJSON;
}
public void setArtifactCaptureJSON(String artifactCaptureJSON) {
this.artifactCaptureJSON = artifactCaptureJSON;
}
public String getIsBackside() {
return isBackside;
}
public void setIsBackside(String isBackside) {
this.isBackside = isBackside;
}
JSP
<form:form modelAttribute="documentCaptureForm" action="/capture" method="post" autocomplete="off">
<div><form:hidden path="artifactCaptureJSON" id="artifactCaptureJSON"/></div>
Document Side<form:select id="isBackside" path="isBackside">
<form:option selected="selected" value="Front">Front</form:option>
<form:option value="Back">Back</form:option>
</form:select>
<input type="submit" id="capturesave" value="Save" />
</form:form>
Контроллер
@RequestMapping(value="/capture", method=RequestMethod.POST)
public ModelAndView captureArtifacts(@PathVariable long applicationPKId,
@ModelAttribute("documentCaptureForm") DocumentCaptureForm documentCaptureForm, BindingResult result,
HttpServletRequest request){
logger.debug("Entering captureArtifacts ...");
ModelAndView mav = new ModelAndView(DOCUMENT_CAPTURE_VIEW);
mav.addObject("title", "Capture Document");
ArtifactCaptureData artifactData = documentCaptureForm.convertToJava();
boolean isBackside = documentCaptureForm.getIsBackside().equals("Back");
захват артефакта JSON имеет значение, установленное в функции javascript после того, как пользователь что-то делает на странице. Это значение правильно заполняется при отправке формы в контроллер. Однако поле из выбора формы игнорируется. isBackside имеет значение null независимо от того, что я пытаюсь