Est-il possible de créer un formulaire avec plusieurs boutons de soumission sur Spring MVC à l'aide d'annotations?
Je suis en train de créer simple ajout/suppression de formulaire à l'aide de l'annotation basée sur Spring MVC.
Ajouter la fonctionnalité vient en douceur, mais quand j'ai essayé d'ajouter un autre bouton pour la forme j'ai coincé.
Voici mon code:
Des actions de contrôleur:
@RequestMapping(value = "/books/documentType.do", method = RequestMethod.GET)
public String getDocType(
@RequestParam(required = false, value = "id") Long id,
ModelMap model) {
DocTypeDTO docType = new DocTypeDTO();
if (id != null)
docType = docTypeConverter.getDTO(id);
model.addAttribute("docType", docType);
return "/books/documentType";
}
@RequestMapping(value = "/books/documentType.do", method = RequestMethod.POST)
public String setDocType(
@ModelAttribute("docType") DocTypeDTO docType,
BindingResult result,
SessionStatus sessionStatus
) {
docTypeValidator.validate(docType, result);
if (result.hasErrors())
return "/books/documentType";
else {
docTypeConverter.saveDTO(docType);
sessionStatus.setComplete();
return "redirect:/books/documentTypes.do";
}
}
Terriblement markuped forme:
<form:form method="post" commandName="docType" id="editForm">
<table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#dbdbdb">
<tr>
<td></td>
<td>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td class="spacer"><img src="/images/spacer.gif" width="116" height="1" border="0"/></td>
<td class="spacer"><img src="/images/spacer.gif" width="216" height="1" border="0"/></td>
</tr>
<tr>
<td class="form-cell-text-underlined">Отображать на сайте</td>
<td colspan="2">
<form:checkbox path="shownOnSite"/>
</td>
</tr>
<tr>
<td class="form-cell-text-underlined">Международный</td>
<td colspan="2">
<form:checkbox path="international"/>
</td>
</tr>
<tr>
<td class="form-cell-text-underlined">Внутренний код</td>
<td colspan="2">
<form:input path="internalCode"/>
</td>
</tr>
<tr>
<td class="form-cell-text-underlined">Код</td>
<td colspan="2">
<form:input path="code"/>
<form:errors path="code"/>
</td>
</tr>
<tr>
<td class="form-cell-text-underlined">Код IATA</td>
<td colspan="2">
<form:input path="codeIATA"/>
</td>
</tr>
<tr>
<td class="padded-underlined">Название</td>
<td colspan="2">
<form:input path="name"/>
<form:errors path="name"/>
</td>
</tr>
<tr>
<td class="padded-underlined">Название(Англ.)</td>
<td colspan="2">
<form:input path="nameEn"/>
</td>
</tr>
<tr>
<td colspan="3">
<input type="submit" value="Сохранить">
</td>
</tr>
</table>
</td>
<td></td>
</tr>
</table>
Merci!
Vous devriez envisager d'accepter PaddyC réponse parce que c'est vrai.
OriginalL'auteur Koguro | 2009-10-27
Vous devez vous connecter pour publier un commentaire.
Avec Spring MVC 3, cela est raisonnablement simple à faire avec les JSP et de Contrôleur. Par exemple, ces deux boutons submit, poignée "précédent" et "enregistrer" actions:
Puis, dans le contrôleur, vous acceptez le nom de l'entrée comme un paramètre dans la requête de la cartographie, ainsi que le contrôleur "adresse":
OriginalL'auteur PaddyC
Si vous voulez vraiment deux boutons de soumission de votre formulaire, vous pouvez le faire en Javascript comme ceci (à l'aide de jQuery dans cet exemple):
Ensuite créer un autre RequestMapping dans votre contrôleur:
OriginalL'auteur Daniel Alexiuc