공부/Spring

내가 헤깔려하는것을 다시 정리해봄.

JangGiraffe 2016. 4. 8. 16:43

0. Spring의 Model 클래스

스프링 MVC에서 기본적으로 제공되는 클래스로 뷰에 원하는 데이터를 전달하는 일종의 컨테이너, 상자 역할을 함.

Model이라는 객체에 addAttribute()등의 method를 이용해 데이터를 담고, jsp에 전달하게 된다.

addAttribute("이름",객체) / 객체에 이름을 보여해 뷰에서 이름값을 이용해 객체를 처리한다.

addAttribute(객체) /와 같이 사용할 경우 객체의 클래스명 맨 앞글자를 소문자로 처리후 이름으로 간주(ex TestVO ->testVO)

 

1. JSTL 문법 ${ }

model의 addAttribute로 추가된 객체의 값을 뷰에서 호출할 때 쓰임

 

2. Spring 애노테이션 @ModelAttribute("이름")객체 객체명

자동으로 해당 객체를 뷰까지 전달하도록 만든 애노테이션. 이름을 이용해 호출한다. 이해가 잘 안갔는데 한 블로그에서

[서브밋된 폼의 내용을 저장해서 전달받거나, 다시 뷰로 넘겨서 출력하기 위해 사용되는 오브젝트이다.]

라고 쓰인 글을 보고 이해가 확 갔다. 이전 뷰의 form에 내용들을 넘겨받을때 사용함(hidden으로 숨겨논 것들을 넘겨줄때도).

 

3. Mybatis의 #{ }문법

XML Mapper를 작성할 때 사용된다. 규칙은 아래와 같다.

1. 파라미터가 여러 속성을 가진 객체인 경우(ex boardVO는 String title, int number 등..) #{num}은 getNum 혹은 setNum을 의미한다.

2. 파라미터가 하나이고 기본자료형이나 문자열인 경우 값이 그대로 전달된다.

3. 파라미터가 Map 타입인 경우 #{num}은 Map 객체의 키 값이 'num'인 값을 찾는다.

<사용예시> 파라미터가 Map타입인 경우..

xml파일.

 

 

반응형