我正在开发一个用Spring和Hibernate完成的JEE学校项目。我的表是:
id_infraction
描述
id_dossier
描述
gravite
id_dossier
id_infraction
该应用程序可以很好地添加“违规”和“档案”并在jsp页面中检索它们。
应用程序应该能够在一个“档案”中添加多个“违规”,这就是我被阻止的地方; 我正在学习一对多标签,并在我的“档案”课程中实现它们,但由于我想要一个与添加违规行为分开并添加档案的表格,我不知道如何处理它。
以下是我在Dossier课程中添加的代码:
@OneToMany
private Set<Infraction> infractions;
@OneToMany(cascade = CascadeType.ALL)
@JoinTable(
name = "DOSSIERINFRACTION",
joinColumns = @JoinColumn(name = "id_dossier"),
inverseJoinColumns = @JoinColumn(name = "id_infraction")
)
我的AppController类部分处理添加档案
/*
* Méthode d'ajout d'un dossier
*/
@RequestMapping(value = { "/new" }, method = RequestMethod.GET)
public String newDossier(ModelMap model) {
Dossier dossier = new Dossier();
model.addAttribute("dossier", dossier);
model.addAttribute("edit", false);
return "registration";
}
/*
* Gère l'envoi du POST pour l'ajout de dossier ainsi que la validation du
* formulaire
*
*/
@RequestMapping(value = { "/new" }, method = RequestMethod.POST)
public String saveDossier(@Valid Dossier dossier, BindingResult result, ModelMap model) {
if (result.hasErrors()) {
return "registration";
}
service.saveDossier(dossier);
model.addAttribute("success", "Dossier " + dossier.getNom() + " enregistré");
return "success";
}
用于记录档案的JSP表单
<form:form method="POST" modelAttribute="dossier">
<form:input type="hidden" path="id" id="id"/>
<table>
<tr>
<td><label for="nom">Nom: </label> </td>
<td><form:input path="nom" id="nom"/></td>
<td><form:errors path="nom" cssClass="error"/></td>
</tr>
<tr>
<td><label for="prenom">Prénom: </label> </td>
<td><form:input path="prenom" id="prenom"/></td>
<td><form:errors path="prenom" cssClass="error"/></td>
</tr>
<tr>
<td><label for="plaque">Plaque: </label> </td>
<td><form:input path="plaque" id="plaque"/></td>
<td><form:errors path="plaque" cssClass="error"/></td>
</tr>
<tr>
<td><label for="permis">Permis: </label> </td>
<td><form:input path="permis" id="permis"/></td>
<td><form:errors path="permis" cssClass="error"/></td>
</tr>
<tr>
<td colspan="3">
<c:choose>
<c:when test="${edit}">
<input type="submit" value="Mettre à jour"/>
</c:when>
<c:otherwise>
<input type="submit" value="Enregistrer"/>
</c:otherwise>
</c:choose>
</td>
</tr>
</table>
</form:form>
我的问题可能看起来有点愚蠢,但我怎样才能创建一个可以为档案添加多个违规行为的表单,以及如何显示档案中的违规行为?
谢谢你, 罗曼