■ JSP에서 modelAttribute 처리 기본 규칙
- modelAttribute 사용시 JSP에서 처리를 위해서는 VO 사용해야 함.
- JSP에서 출력을 위해서는 ${} 사용만 가능
${egovMap.pageIndex} |
■ JSP에서 EgovMap 사용하는 방법
- setter/getter로 감싸는 Wrapper 클래스 생성
public class EgovMapWrapper { private EgovMap egovMap; public EgovMapWrapper() { egovMap = new EgovMap(); } public EgovMap getEgovMap() { return egovMap; } public void setEgovMap(EgovMap egovMap) { this.egovMap = egovMap; } } |
- Controller에서 Wrapper 클래스에 EgovMap을 전달
EgovMap egovMap = new EgovMap(); egovMap.put("pageIndex", 3); EgovMapWrapper egovMapWrapper = new EgovMapWrapper(); egovMapWrapper.setEgovMap(egovMap); |
- JSP로 전달 받는 방법
</form:form modelattribute="egovmap"> pageIndex : </form:input path="egovmap['pageindex']" size="70" maxlength="70" > |
- JSP => Controller로 FORM 전송 하는 방법
HTMLTag Filter가 적용되어 있지 않다면 XSS 방지를 위해 반드시 <c:out>을 사용해야 한다.
<form:form modelAttribute="egovMap"> pageIndex : <form:input path="egovMap['pageIndex']" size="70" maxlength="70" /> <input type="text" name="pageIndex" id="pageIndex" value='<c:out value="${egovMap.egovMap.pageIndex}"/>'/> <input type="submit" class="s_submit" value="적용" /> </form:form> |
- Controller에서 FORM 전송 값 수신
* 이때는 EgovMap으로 수신하지 말고 일반 Map Type으로 수신한다.
@RequestMapping("/EgovContent.do") public String setContent(@RequestParam Map<String, Object> commandMap, ModelMap model) throws Exception { |
■ 샘플 소스