Формы классомполя из формы: выберите не установлено в modelAttribute на подчиненной форме с использованием Spring MVC
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, независимо от того, что я пробовал