2011-09-10 3 views
5

두 가지 문제점이 있습니다. 첫 번째는 JSP를 사용하고 있으며 해결할 수 없다는 것입니다. 두 번째 것은 내가 이상한 행동을 취하는 것이다. "WEB-INF/main.jsp"에서

내 서블릿

req.setAttribute("test", "SARASA"); 
req.getRequestDispatcher("WEB-INF/main.jsp").forward(req, resp); 

의의 doGet() 메소드에 넣고

그리고 이것은 : 출력은

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 
<%= request.getAttribute("test") %> 
<c:out value="${test}"/> 

입니다

:

SARASA ${test} 

내가 뭘 잘못하고 있는지 모르겠다. 왜 이런 이유가있을 수 있습니까?


업데이트 : 나는 그것을 필요로 어디 각 JSP에서

<%@ page isELIgnored="false" %> 

를 추가 해결했다. 이상하게도 필자는 아주 비슷한 web.xml과 pom.xml 파일 (필자는 maven을 사용하고있다)을 사용하는 다른 프로젝트에서는 필요하지 않았다.

+0

테스트가 무엇을 표현을 ?? – confucius

+0

test는 "SARASA"라고 표시된 문자열에 매핑 된 설정 (서블릿 참조) 속성의 이름입니다 – eordano

+0

JSTL 위키 페이지의 하단도 참고하십시오 : http://stackoverflow.com/tags/jstl/info – BalusC

답변

10

귀하의 web.xml은 isELIgnored이 기본값으로 true으로 설정된 Servlet 2.3 사양을 참조하고있을 것입니다. Servlet 2.4 스펙을 대신 참조하면 isELIgnored은 기본적으로 false으로 설정됩니다. 당신은 서블릿 2.4 스펙을 참조 할 경우

, 당신의 web.xml 헤더는 다음과 같이 보일 것입니다 :

<web-app xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
    version="2.4"> 
+0

고맙습니다. 문제는 아무 것도 언급이 없다는 것이 었습니다 ... 그것이 doctype에 있었기 때문에 나는 그것을 보지 못했습니다 !!! (대개 무시합니다) eordano

관련 문제