2013년 7월 17일 수요일

(130717) 18일차 JspToJava.jsp, JspToJava.java (JSP Expression Language - 표현 언어 테스트)

 - 표현 언어(Expression Language)
 : 값을 표현하는데 사용되는 새로운 스크립트 언어로서, JSP의 기본 문법을 보완하는 역할을 한다.
 : 표현 언어는 다음과 같이 $와 표현식 그리고 괄호('{' 와 '}')를 사용하여 값을 표현한다.
 : ${expr}

 - 표현 언어의 기본 객체 
 : Expression에서는 9개의 내장 객체가 제공되었지만, Expression Language에서는 2개 더 제공된다. (예제에서 설명)
 : 이 기본 객체는 ${ } 안에서 사용 가능하다.


 - JspToJava.java 소스
package mm;

public class JspToJava {

static int a = 10;
static int b = 20;

public static int getSum(int a, int b){
int result = a + b;
return result;
}
}


 - JspToJava.jsp 소스
<%@page import="mm.JspToJava"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>

<%
session.setAttribute("id", "1234");
request.setAttribute("pw", "4321");
String a = "10";
%>
세션 이름 : ${sessionScope.id} <br>
요청 이름 : ${requestScope.pw} <br><br>
${4/2} <br>
<!-- 자동 형변환 -->
${"10"+1} <br><br>
예전 방식 : <%=a%><br>
<!-- 적용되지 않음 -->
지금 방식 : ${a} <br><br>
예전 방식 : <%=session.getAttribute("id")%><br>
지금 방식 : ${sessionScope.id} <br><br>
<%
JspToJava jj = new JspToJava(); // 객체를 가지고 와서
request.setAttribute("id", jj); // 그 객체의 이름을 기준으로 출력함
%>
예전 방식 : <%=JspToJava.getSum(50, 50)%><br>
<!-- 객체의 이름을 기준으로 출력 -->
지금 방식 : ${id.getSum(100, 100)} <br><br>
</body>
</html>


 - 결과