전자정부표준프레임워크

전자정부 표준프레임워크 EgovMap을 modelAttribute에 전달시 JSP에서 사용방법

무한열정 2024. 1. 18. 09:31

■ 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 {


■ 샘플 소스

EgovUnitContent.jsp
0.01MB
EgovComIndexController.java
0.01MB