forwarding
- 현재하는 내용을 이어갈 수 있도록 공유하는 부분이 있다.
redirect
- 현재 하는 요청과 상관없이 새로운 요청을 하는 거
/*Java class*/
request.setAttribute("result", result);
//request.setAttribute("객체명", 객체);
RequestDispatcher dispatcher = request.getRequestDispatcher("spag.jsp");
dispatcher.forward(request, response);
// 혼자 사용하는 저장소 : PageContext
request.getRequestDispatcher()
dispatcher.forward(request, response)
/*jsp 파일*/
<%=request.getAttribute("result")%>입니다.
//request.getAttribute("객체명")
EL(Expression Language) : 저장 객체에서 값을 추출해서 출력하는 표현식
값 출력하기
request.getAttribute("cnt")
--> ${cnt} // 쉽게 출력할 수 있다.
List 출력하기
((List)request.getAttribute("list")).get(0)
--> ${list[0]}
Map 출력하기
((Map)request.getAttribute("n")).get("title")
--> ${n.(key이름)}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<%
pageContext.setAttribute("result", "hello");
%>
<body>
${requestScope.result} 입니다.<br >
${names[0] } <br >
${notice.title }<br >
${result}<br >
${empty param.n?'값이 비어 있습니다.':param.n}<br >
${header.accept}
</body>
</html>
<% %> : 한 줄에 자바 코드를 사용할 수 있지만 줄바꿈을 하지 못한다.
<%= %> : 출력을 위한 코드 블럭
<%! %> : 여러 줄에 걸쳐 자바 코드를 작성할 수 있다.
<%@ %> : 다른 설정자들보다 가장 먼저 동작한다.
45~51 강의
52 강의 부터는 JDBC가 필요하여 JDBC를 공부하고 다시 시작하려고 함