EgovMapWrapper 사용질문
- 작성자 :
- 힘*어
- 작성일 :
- 2024-07-22 16:39:00
- 조회수 :
- 348
- 구분 :
- 개발환경 / 4.1
- 진행상태 :
- 완료
Q
EgovMapWrapper 사용해서
model.addAttribute("egovMap", egovMapWrapper);
이렇게 담아서 jsp에
<form:form action="/member/memberInsert.do" method="post" modelAttribute="egovMap">
<div>
<form:label path="egovMap[memberId]">아이디 :</form:label>
<form:input path="egovMap[memberId]" />
</div>
. .. . .
뿌리는건 성공했습니다.
/member/memberInsert.do 여기서 파라미터를 mybatis까지 넘기려면 어떻게 해야하나요??
mybatis에서 #{egovMap[memberId]} 로 하니까 egovMap이 배열처리되서 numberFormatException 뜨는거같아요
model.addAttribute("egovMap", egovMapWrapper);
이렇게 담아서 jsp에
<form:form action="/member/memberInsert.do" method="post" modelAttribute="egovMap">
<div>
<form:label path="egovMap[memberId]">아이디 :</form:label>
<form:input path="egovMap[memberId]" />
</div>
. .. . .
뿌리는건 성공했습니다.
/member/memberInsert.do 여기서 파라미터를 mybatis까지 넘기려면 어떻게 해야하나요??
mybatis에서 #{egovMap[memberId]} 로 하니까 egovMap이 배열처리되서 numberFormatException 뜨는거같아요
환경정보
-
- OS 정보 :
- 표준프레임워크 버전 :
- JDK(JRE) 정보 :
- WAS 정보 :
- DB 정보 :
- 기타 환경 정보 :
A
안녕하세요.
표준프레임워크센터입니다.
EgovMap은 ListOrderedMap을 상속받아 사용하는데
ListOrderedMap 은 특정 인덱스(위치)에 데이터를 추가/삭제할 수 있는
기능이 추가된 Map 객체로 Getter/Setter 메소드가 없기 때문에
폼 태그 형태로 사용할 수 없으므로
별도의 Model 객체를 통해 전달해야 합니다.
EgovMap객체를 egovMapWrapper이 감싸고 있는 형태이므로
다음 코드를
<form:input path="egovMap[memberId]" />
다음과 같이 수정하여 적용해 보시기 바랍니다.
* HTMLTagFilter로 XSS 방지된 경우
<input type="text" name="memberId" id="memberId" value='${egovMap.egovMap.memberId}'/>
* HTMLTagFilter로 XSS 방지 처리 않된 경우 - <c:out> 사용
<input type="text" name="memberId" id="memberId" value='<c:out value="${egovMap.egovMap.memberId}"/>'/>
Controller단에서는 EgovMap이 아닌 일반 Map Type으로 수신하시면 됩니다.
@RequestParam Map<String, Object> commandMap
표준프레임워크센터입니다.
EgovMap은 ListOrderedMap을 상속받아 사용하는데
ListOrderedMap 은 특정 인덱스(위치)에 데이터를 추가/삭제할 수 있는
기능이 추가된 Map 객체로 Getter/Setter 메소드가 없기 때문에
폼 태그 형태로 사용할 수 없으므로
별도의 Model 객체를 통해 전달해야 합니다.
EgovMap객체를 egovMapWrapper이 감싸고 있는 형태이므로
다음 코드를
<form:input path="egovMap[memberId]" />
다음과 같이 수정하여 적용해 보시기 바랍니다.
* HTMLTagFilter로 XSS 방지된 경우
<input type="text" name="memberId" id="memberId" value='${egovMap.egovMap.memberId}'/>
* HTMLTagFilter로 XSS 방지 처리 않된 경우 - <c:out> 사용
<input type="text" name="memberId" id="memberId" value='<c:out value="${egovMap.egovMap.memberId}"/>'/>
Controller단에서는 EgovMap이 아닌 일반 Map Type으로 수신하시면 됩니다.
@RequestParam Map<String, Object> commandMap
감사합니다.