JSP 의 EL 과 JSTL 그거/Java2013. 8. 9. 17:45
안쓰던거 쓰려니 몸이 고생....이 아니라 머리가 고생 -_-;
환경은 이렇다.
tomcat 6.0, servlet 2.4, jstl 1.1.2
JSTL 을 쓰려고 아래와 같이 코딩했다.
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
String a = "str";
%>
<body>
<c:out value="${a}"/>
값이 안나온다. 젠장
별 뻘짓을 다 해도 데이터가 안나옴. ㅡㅡ;
아래와 같이 하니 나옴.
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:set var="a" value="str"/>
<body>
<c:out value="${a}"/>
그렇다.
EL, JSTL 요놈들은 <% %> 에서 일반 변수 선언한건 안된다.
찾아보니,
<c:set/> 요놈이 page, request, session, application 4 영역에 attribute 를 저장하는 놈이다.
EL을 사용하려면 <c:set/> 을 이용해 지정한 변수만 사용가능하다는..
그렇지 않으면, 위 page, request, session, application 영역의 변수만 사용가능하다는거다.
다른 예제.
<%
String a = "DDDD:l";
pageContext.setAttribute("id", "lucky");
session.setAttribute("age", "36");
application.setAttribute("team", "FW");
request.setAttribute("name", "Choi");
%>
위와 같이 설정하고,
<c:set var="str" value="<%= a %>"/>
<%= a %><br>
a = ${a}<br>
a = <c:out value="${str}" default="none"/> <br>
a = ${str}<br>
id= ${id}<br>
age= ${age}<br>
name= ${name}<br>
team= ${team}<br>
<c:out value="id=${id}"/><br>
<c:out value="age=${age}"/><br>
<c:out value="name=${name}"/><br>
<c:out value="team=${team}"/><br>
끝.
'그거 > Java' 카테고리의 다른 글
Spring 의 SimpleJdbcCall 이용시 에러. (0) | 2014.05.19 |
---|---|
enum 사용하기 (0) | 2013.05.02 |
자바 소스 디컴파일 해보기. (0) | 2013.04.11 |
Runtime Data Access (0) | 2012.07.30 |
NoClassDefFoundError vs ClassNotFoundException (0) | 2011.10.11 |