1. jstl 라이브러리 사용하기
pom.xml에서 jstl과 standard를 추가.
2. ModelAndView 사용하기
String 리턴타입은 이용해서 단순히 jsp페이지를 보여주는 용도이다. 하지만 ModelAndView는 페이지도
보여주고 데이터도 동시에 보여주는 용도로도 사용된다.
jsp 페이지(사용자)에게 데이터를 보내는걸 model이라고 한다.
사용자에게 보여주는 페이지 view 이걸 합치면 ModelAndView라 한다.
vo 패키지 추가 vo패키지에 NoteVO.java 파일 생성
private 형태로 변수 선언하고 getter,setter
단축키로는 변수아래에서 생성 컨트롤+atl+s 누르고 r를 선택 그리고 해당 변수들 다 선택하고 ok
@RequestMapping("/note/list") url주소는 /note/list로 되어있다.
24줄에서 리턴타입 ModelAndView 메소드를 생성 위에있는 메소드가 주석처리된것은 return "note/list" 부분 때문이다 .
즉 보여줄 jsp페이지가 겹치기 때문이다.
25줄에서 noteList를 생성
26줄에서 NoteVO note = new NoteVO(); 를 생성
27~28 note에서 데이터 그릇에 정보를 각각 저장
setNote, setSubject부분은 VO에서 String 변수로 되어있어서 문자열로 set
setPriority는 int형 변수로 되어있어서 숫자로 set
db연동이 되어있지 않기때문에 이런방식으로 임의적으로 보여줄 데이터를 넣는다.
이런걸 mockData라고
set작업을 마치고 noteList.add(note); noteList안에 note를 넣는다.
32번줄에서 ModelVeiw 객체 선언
33번줄에 view.setViewName();은 보여줄 jsp페이지 부분을 지정해주는 것이다.
위 주석처리된 메소드 retrun "note/list"와 같다고 보면 된다.
34번줄에 view.addObject();는 ModelAndview객체에 속성값을 넣어주는 것이다.
즉 보여줄 데이터를 지정해주는것이다. 괄호안에 있는 "notelist",notelist는 key와 value 이다.
마지막으로 return view; 해서 보여줄 view를 리턴.
pom.xml에서
jstl과 standard를 추가를 추가해서
위사진과 같이 taglib를 선언 할수 있게되고 jstl문법을 사용할수 있게된다.
list형태로 jsp에서 데이터를 보여줄 것이라면 forEach문은 필수이다.
<c:forEach itmes = "" > 어떤걸 보여줄지 결정하고 var로 이름을 지정
컨트롤러에서 view.addObject("noteList",noteList);로 보여줄 데이터를 선언했기 때문에.
13번줄에서 보여줄 것을 items에 ${noteList}로 하고 var로 이름을 note로 지정했다.
${}형식으로 데이터를 불러온다.
${note.subject} 이런식으로 foreach문 안에 넣어주고 vo에있는
데이터를 하나씩 작성하여 불러온다.
'
이렇게 mockData를 다 불러온후 서버를 실행하고
브라우저에서 http://localhost:8080/Note/note/list 입력하고 들어가면
복습차원으로 url을 다시 설명하자면
@RequestMapping("/note/list")로 했기때문에 url주소는
http://localhost:8080/Note/note/list 이고 보여줄 페이지는 list.jsp
위와 같이 컨트롤러에서 임의적으로 넣은 데이터들이 나오는걸 확인 할수있다.
[spring]스프링 Mybatis 연동 and 개발을 위한 패키지 와 context 세팅 (0) | 2017.06.20 |
---|---|
[spring]스프링 DB연동 (0) | 2017.06.19 |
spring Maven test(메이븐 테스트) , spring(스프링) Maven 알수없는 오류 (0) | 2017.06.15 |
spring(스프링) 기초 입문 Maven(메이븐) 프로젝트 생성 및 스프링 spring 개발환경 설정 (2) | 2017.06.11 |