@ModelAttribute 와 VO 로 값 주고 받기
- 전자정부프레임워크
- 2018. 2. 26. 16:32
이번엔 VO를 사용해 값을 주고받기 해보겠습니다.
그전에 jsp단에서 컨트롤러로 값을 보낼때
아래와 같이 form 태그에 name="hanq" 와 value="한큐" 넣어줍니다
다음 컨트롤러 에서 아래와 같이
ModelAttribute로 HanqVO를 호출해줍니다
@ModelAttribute는 setter를 자동으로 호출 해줍니다.
1 2 3 4 5 6 7 | @RequestMapping(value = "welcomeWeb2.do") public String initMain6(@ModelAttribute HanqVO hanqVO, ModelMap model) throws Exception { List<Map> welcomeWebList = welcomeWebService.selectWelcomeWebServiceList2(hanqVO); model.addAttribute("welcomeWebList", welcomeWebList); return "VO/VO.tiles"; } | cs |
서비스나 서비스 임플, 맵퍼를 만들어줄때도
해당 VO를 넣어줘야합니다
--
다음 HanqVO 보겠습니다. getter은 필요없기 때문에
setter만 만들어 줬습니다.
VO를 넣는 경로는 service에 넣어주면 됩니다
1 2 3 4 5 6 7 8 9 | public class HanqVO { private static final long serialVersionUID = 1L; private String hanq = ""; public void setHanq(String hanq) { this.hanq = hanq; } } | cs |
다음 쿼리문에서 jsp form태그에 넣어줬던 값을 이용해
where 절에 USER_NAME = #{hanq}를 이용해
유저네임이 한큐인 값만 뽑을수 있게 할 수 있습니다.
1 2 3 4 5 6 7 8 9 | <select id="selectWelcomeWebServiceList2" parameterType="hanqVO" resultType="egovMap"> SELECT ID, USER_NAME FROM welcome_web WHERE 1=1 <if test='hanq != null'> AND USER_NAME = #{hanq} </if> </select> | cs |
이때 parameterType이 hanqVO인데 이것은
hanqVO객체 형식으로 값을 받겠다는 것이다.
if 문안의 hanq != 의 hanq 는 hanqVO 안의 필드이다.
이렇게 VO를 받는것을 할수 있다.
다음 VO를 사용하기 위해선
아래와 같은 경로에 typeAlias를 추가 해줘야한다.
이렇게 Mybatis에서 VO를 사용할수 있다.
'전자정부프레임워크' 카테고리의 다른 글
체크박스 값 확인하기 (0) | 2018.02.27 |
---|---|
@RequestParam 과 String로 값 주고 받기 (0) | 2018.02.26 |
서비스단 만들고 DB에서 데이터 뽑아오기(2) (2) | 2018.02.26 |
서비스단 만들고 DB에서 데이터 뽑아오기 (0) | 2018.02.26 |
레프트 메뉴 추가 해보기 (0) | 2018.02.24 |