요르딩딩

Servlet&JSP 프로그래밍 (46강 ~ 55강) 본문

[강의]/[서블릿 JSP 강의] (뉴렉처)

Servlet&JSP 프로그래밍 (46강 ~ 55강)

요르딩딩 2024. 9. 11. 14:13
728x90
반응형
[46강. JSP MVC model1을 model2 방식을 변경]

- model2 : 컨트롤러와 뷰의 소스코드가 분리

- 컨트롤러는 디스패처를 활용해 포워딩한다.
- web.xml -> dispatcher-servlet -> contorller -> view

- redirect : 새로운 요
- forward : 작업을 이어갈 수 있도록 공유 (reqeust를 사용)
// Controller
...
request.setAttribute("result", result); // 값 담기

ReqeustDispatchert dispatcher = request.getRequestDispatcher("spage.jsp");
dispatcher.forward(request, response); // request 와 response가 jps로 넘어감​
...

// JSP
...
<body>
 <%=request.getAttribute("result") %>
</body>
...


[47강. EL(Expression Language)] 

- 저장 객체에서 값을 추출해서 출력하는 표현식

# forward(포워드) : String
- controller : request.setAttribute("cnt", 30); // 값 담기
- view : request.getAttribute("cnt") // 값 추출  ---> ${cnt}
// Controller
...
request.setAttribute("result", result); // 값 담기

ReqeustDispatchert dispatcher = request.getRequestDispatcher("spage.jsp");
dispatcher.forward(request, response); // request 와 response가 jps로 넘어감​
...

// JSP
...
<body>
 ${result}
</body>
...


# forward(포워드) : List
- controller : List  list = new ArrayList(){"1", "test"...};
                    request.setAttribute("List", list  ); // 값 담기

- view : ((List)request.getAttribute("list")).get(0) // 값 추출  ---> ${list[0]}

// Controller
...
String[] names = {"a", "b"};

request.setAttribute("names", names); // 값 담기

ReqeustDispatchert dispatcher = request.getRequestDispatcher("spage.jsp");
dispatcher.forward(request, response); // request 와 response가 jps로 넘어감​
...

// JSP
...
<body>
 ${names[0]} <br> 
 ${names[1]} <br>
</body>
...​


# forward(포워드) : Map
- controller : Map n = new HashMap("title", 제목);
                     request.setAttribute("n", n  ); // 값 담기
- view : ((Map)request.getAttribute("n")).get("title") // 값 추출  ---> ${n.title}
// Controller
...
Map<String, Object> notice = new HashMap<String, Object>();
notice.put("id", 1);
notice.put("title", "제목");


request.setAttribute("notice", notice); // 값 담기

ReqeustDispatchert dispatcher = request.getRequestDispatcher("spage.jsp");
dispatcher.forward(request, response); // request 와 response가 jps로 넘어감​
...

// JSP
...
<body>
 ${notice.id} <br>
 ${notice.title} <br>
</body>
...​​


728x90
반응형
Comments