표현 언어


Expression Language

JSP에서 사용가능한 새로운 스크립트 언어

EL의 주요 기능

JSP의 네 가지 기본 객체가 제공하는 영역의 속성 사용

Collection 객체, 배열에 대한 접근 방법 제공

수치 연산, 관계 연산, 논리 연산자 제공

자바 클래스 메서드 호출 기능 제공

표현언어만의 기본 객체 제공

간단한 구문 때문에 표현식 대신 사용

기본 문법

${expr}, #{expr}

사용예

<jsp:include page="/module/${skin.id}/header.jsp" />

<b>${sessionScope.member.id}</b>님 환영합니다.

${expr}은 표현식이 실행되는 시점에 바로 값 계산

#{expr}은 값이 실제로 필요한 시점에 값 계산

JSP 템플릿 텍스트에서는 사용 불가

스크립트 요소(스크립트릿, 표현식, 선언부)를 제외한 나머지 부분에서 사용




${expr}#{expr}의 동작 방식 예

<% 
    Member m = new Member();
    m.setName("이름1");
%>
<c:set var="m" value="<%= m %>" /><%--선언시의 값을 가짐--%> 

<%-- 이 시점에는 값 생성하지 않음 --%>
<c:set var="name" value="#{m.name}" /><%--현재 값을 가지지 않음--%>

<% m.setName("이름2"); %>

${name} <%-- 사용될 때 값 계산, "이름2" 출력 --%>

<% m.setName("이름3"); %>

${name} <%-- 사용될 때 값 계산, "이름3" 출력 --%>




EL에서 기본 객체





예제
EL은 영역 개체에 있어야 인식한다.
package test.bean;

public class Member {
	
	private String name;
	private String id;
	private String pwd;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
	
	
}

<%@ page import="test.bean.Member" %>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%
	Member m = new Member();
	m.setId("myID");
	m.setPwd("myPWD");
	m.setName("김연아");
	pageContext.setAttribute("m", m);
%>
<!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></title>
</head>
<body>
회원 이름:[${m.name }]
</body>
</html>
<%@ page import="test.bean.Member" %>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<jsp:useBean id="m" class="test.bean.Member">
	<jsp:setProperty name="m" property="name" value="김연아"/>
	<jsp:setProperty name="m" property="id" value="myID"/>
	<jsp:setProperty name="m" property="pwd" value="myPWD"/>
</jsp:useBean>    
<%-- <%
	Member m = new Member();
	m.setId("myID");
	m.setPwd("myPWD");
	m.setName("김연아");
	pageContext.setAttribute("m", m);
%> --%>
<!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></title>
</head>
<body>
회원 이름:[${m.name }]
<%=m.getName() %>
</body>
</html>




<%@ page import="test.bean.Member" %>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%
	String[] name={"강호동","이수근","김종민"};
	pageContext.setAttribute("arr", name);
%>
<!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></title>
</head>
<body>
<%=name[0] %><p/>
${arr[0]}
</body>
</html>


<%@ page import="test.bean.Member" %>
<%@ page import="java.util.*" %>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%
	//String[] name={"강호동","이수근","김종민"};
	ArrayList<String> name= new ArrayList<String>();
	name.add("강호동");
	name.add("이수근");
	name.add("김종민");
	HashMap<String,String> map = new HashMap<String,String>();
	map.put("1", "강호동");
	map.put("2", "이수근");
	map.put("three", "김종민");
	pageContext.setAttribute("map", map);
%>
<!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></title>
</head>
<body>
<%=map.get("1") %><p/>
${ map["1"]}<p/>
${ map.three }<!-- map에 영문이 아니면 오류가 난다. -->
</body>
</html>
<%@ page import="test.bean.Member" %>
<%@ page import="java.util.*" %>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%
	//String[] name={"강호동","이수근","김종민"};
	ArrayList<String> name= new ArrayList<String>();
	name.add("강호동");
	name.add("이수근");
	name.add("김종민");
	HashMap<String,String> map = new HashMap<String,String>();
	map.put("강호동", "123-12321");
	map.put("이수근", "123-1232-2323");
	map.put("김종민", "234-2343-3242");
	pageContext.setAttribute("map", map);
%>
<!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></title>
</head>
<body>
<%=map.get("김종민") %><p/>
${ map["김종민"]}<p/>
</body>
</html>



session 영역에서 값을 가져와서 nextPage에 출력

<%@ page import="test.bean.Member" %>
<%@ page import="java.util.*" %>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%
	//String[] name={"강호동","이수근","김종민"};
	ArrayList<String> name= new ArrayList<String>();
	name.add("강호동");
	name.add("이수근");
	name.add("김종민");
	HashMap<String,String> map = new HashMap<String,String>();
	map.put("강호동", "123-12321");
	map.put("이수근", "123-1232-2323");
	map.put("김종민", "234-2343-3242");
	session.setAttribute("map", map);
%>
<!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></title>
</head>
<body>
<a href="nextPage.jsp">다음페이지로 이동</a>
</body>
</html>
<%@ 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>
&lt연락처&gt <p/>
강호동:${ map["강호동"]}<p/>
이수근:${ map["이수근"]}<p/>
김종민:${ map["김종민"]}<p/>
</body>
</html>


01


<%@ page import="test.bean.Member" %>
<%@ page import="java.util.*" %>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%
	//String[] name={"강호동","이수근","김종민"};
	ArrayList<String> name= new ArrayList<String>();
	name.add("강호동");
	name.add("이수근");
	name.add("김종민");
	HashMap<String,String> map = new HashMap<String,String>();
	map.put("강호동", "123-12321");
	map.put("이수근", "123-1232-2323");
	map.put("김종민", "234-2343-3242");
	request.setAttribute("map", map);
%>
<jsp:forward page="nextPage.jsp"/>
<!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></title>
</head>
<body>
<a href="nextPage.jsp">다음페이지로 이동</a>
</body>
</html>




<%@ page import="test.bean.*, java.util.*" %>
<%@ page contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<jsp:useBean id="m" class="test.bean.Member" scope="request">
	<jsp:setProperty name="m" property="name" value="김종민"/>
	<jsp:setProperty name="m" property="id" value="myID"/>
	<jsp:setProperty name="m" property="pwd" value="myPWD"/>
</jsp:useBean>
<jsp:forward page="nextPage.jsp"/>
<!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></title>
</head>
<body>
<a href="nextPage.jsp">다음페이지로 이동</a>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<jsp:useBean id="m" class="test.bean.Member"/>
<!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>
${m.name}<p/>
${m.id}<p/>
${m.pwd}<p/>
</body>
</html>




<%@ 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>브라우저에서 전달된 파라미터</title>
</head>
<body>
아이디 : ${param.id }<br/>
암호 : ${param.pwd }<br/>
</body>
</html>



+ Recent posts