[SPRING] Spring MVC에서 하나의 폼에 대한 많은 commandName
SPRINGSpring MVC에서 하나의 폼에 대한 많은 commandName
페이지 jsp가 어디 다른 POJO 클래스에서 많은 특성을 사용하므로 두 개의 commandName 폼에서 사용해야합니다. 컨트롤러에서 여러 개의 @ModelAttribute를 사용자가 사용할 수 있으므로 여러 commandName이 작동하지 않는 경우 어떤 점이 있습니까 ??
예를 들어, 정보, 이름 및 함수를 삽입하고 싶습니다. 이름은 Agent 클래스의 속성이고 function은 Activity 클래스의 속성입니까? 나는 어떻게해야합니까?
@RequestMapping(value="/fiche_service",method=RequestMethod.GET)
public ModelAndView Fiche_service(@ModelAttribute Activite activitey,@ModelAttribute Etablissement etabl,ModelMap model) {
Agent ag = new Agent();
return new ModelAndView("FicheService","agent",ag);
}
<form:form
action="${pageContext.request.contextPath}/ajouter_activite"
method="post" commandName="activity" commandName="etabl">
<table id="tabmenu">
<tr>
<td>Fonction :</td>
<td><form:input type="text" class="round default-width-input" path="fonction"/></td>
</tr>
<tr>
<td>Nom d'établissement :</td>
<td><form:input type="text" class="round default-width-input" path="noml"/></td>
</tr>
<tr>
<td>Ville :</td>
<td><form:input type="text" class="round default-width-input" path="villel"/></td>
</tr>
<tr>
<td>Délégation :</td>
<td><form:input type="text" class="round default-width-input" path="cd_reg"</td>
</tr>
<tr>
<td>Date début :</td>
<td><form:input type="text" name="date" class="tcal" value="" path="dateAffect"/></td>
</tr>
<tr>
<td>Date fin :</td>
<td><form:input type="text" name="date" class="tcal" value="" path="dateAffect_etab"/></td>
</tr>
<tr>
<td><input class="button round blue image-right ic-right-arrow"
type="submit" value="Créer" /></td>
<td><input class="button round blue image-right ic-right-arrow"
type="reset" value="Initialiser" /></td>
</tr>
</table>
</form:form>
예외 :
Etat HTTP 500 - /WEB-INF/pages/FicheService.jsp (line: 397, column: 64) Attribute qualified names must be unique within an element
397 행 ==>
method="post" commandName="activity" commandName="etabl">
해결법
-
==============================
1.springform : form 태그를 사용하여 여러 commandName 속성을 갖는 것은 불가능합니다.
springform : form 태그를 사용하여 여러 commandName 속성을 갖는 것은 불가능합니다.
(구현 org.springframework.web.servlet.tags.form.FormTag에는이 값을 보유 할 단일 필드 만 있습니다).
가장 쉬운 솔루션은 (그 작품은) 필드에있는 래퍼 명령 개체를 사용하는 것입니다.
public class CombinedCommand() { Activity activity; Etabl etabl; //Getter and setter }
JSP :
<form:form action="${pageContext.request.contextPath}/ajouter_activite" method="post" commandName="combinedCommand""> ... <form:input type="text"path="activity.x"/> ... <form:input type="text"path="etabl.y"/> ... </form:form>
from https://stackoverflow.com/questions/16712462/many-commandname-for-one-form-in-spring-mvc by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] JPA와 Spring에서 Hibernate Validator 사용하기 (0) | 2019.04.29 |
---|---|
[SPRING] 봄 배치 및 봄 통합 (0) | 2019.04.29 |
[SPRING] Spring MockMVC - 컨트롤러 외부에서 실행되는 커스텀 유효성 검사기를 조롱하는 법 (0) | 2019.04.28 |
[SPRING] 카프카 탄력성 - 그룹 코디네이터 (0) | 2019.04.28 |
[SPRING] 왜 봄 ReactiveMongoRepository는 모노에 대한 저장 방법을 가지고 있지 않습니까? (0) | 2019.04.28 |