728x90
반응형
<%@ 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>
<body>
<!-- 익스프레션 -->
<%= "안녕하세요" %>
<br>
<% out.print("안녕하세요"); %>
<br>
<!-- EL 표현 -->
${"안녕하세요"}
</body>
</html>
표현 언어(EL : Expression Language)
- JSP 출력에 대한 부분을 쉽게 하기 위해 개발된 스크립트 언어
- JSP의 기본 문법을 보완한다.
- 스프링 프레임워크에서 필수.
${"안녕하세요"}
EX01.
loginForm.jsp
<%@ 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>
<body>
<form action="testLogin.jsp" method="post">
아이디 : <input type="text" name="id"><br>
암 호 : <input type="password" name="pwd"><br>
<input type="submit" value="로그인">
</form>
</body>
</html>
testLogin.jsp
<%@ 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>
<body>
<%
request.setCharacterEncoding("UTF-8");
%>
고전적인 방식 <br>
아이디 <%=request.getParameter("id") %><br>
비밀번호 <%=request.getParameter("pwd") %><br><br>
El 방식(프레임워크방식)<br>
아이디 : ${param.id}<br>
비밀번호 : ${param.pwd}<br>
</body>
</html>
EX02. Int전송
addForm.jsp
<%@ 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>
<body>
<form action="addition.jsp">
숫자 1 : <input type="text" name="num1"><br>
숫자 2 : <input type="text" name="num2"><br>
<input type="submit" value="전송">
</form>
</body>
</html>
addition.jsp
<%@ 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>
<body>
기존의 방식 <br>
<%
int num1 = Integer.parseInt(request.getParameter("num1"));
int num2 = Integer.parseInt(request.getParameter("num2"));
%>
<%=num1 %> + <%=num2 %> = <%=num1+num2 %>
<br><br>
El 방식(프레임워크방식)<br>
${param.num1} + ${param.num2} = ${param.num1 + param.num2}
</body>
</html>
EX03. Servlet으로 전송
AdditionServlet.class
package unit08;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class AdditionServlet
*/
@WebServlet("/AdditionServlet")
public class AdditionServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public AdditionServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int num1=20;
int num2=30;
int add = num1 + num2;
//form에서 넘어오는 것은 getParameter
//저장해서 보낼때는 setAttribute
request.setAttribute("a", num1);
request.setAttribute("b", num2);
request.setAttribute("c", add);
//포워드
RequestDispatcher rd = request.getRequestDispatcher("El_Ex/addition.jsp");
rd.forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
addition.jsp
<%@ 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>
<body>
기존의 방식 <br>
<%
int num1 = (Integer)request.getAttribute("a");
int num2 = (Integer)request.getAttribute("b");
%>
<%=num1 %> + <%=num2 %> = <%=num1+num2 %>
<br><br>
El 방식(프레임워크방식)<br>
${a} + ${b} = ${c}
</body>
</html>
forward 방식을 사용해 setAttribute으로 보내주었으므로 받을 때 역시 getAttribute로 받아주어야한다.
728x90
반응형
'Spring > JSP' 카테고리의 다른 글
[JSP] 싱글톤과 EL표현을 활용한 멤버생성자 (0) | 2022.11.23 |
---|---|
[JSP] DBCP, 커넥션풀설정 (0) | 2022.11.23 |
[JSP] Apache Commons Library (2) | 2022.11.23 |
[JSP] JDBC 데이터 입력 (0) | 2022.11.22 |
[JSP] JDBC 데이터노출 (0) | 2022.11.22 |
댓글