2009-05-22 6 views
1

jstl 태그에서 표현식 언어를 사용하려하지만 이상한 오류가 발생합니다.JSTL 태그에서 EL을 사용하는 중 문제가 발생했습니다.

<c:out value="${header['host']}"/> 

그러나 다음 코드는 잘 실행 :

코드는이 같은 것입니다 "TLD에 또는 태그 파일 지시자 속성 따르면, 값이 어떤 표현을 허용하지 않는 속성"

${header["host"]} 
<c:out value="hello"/> 

jstl.jar 및 standard.jar을 WEB-INF/lib/(및 classpath)에 추가했습니다. JSTL을 포함한 지침은 표준이다 : 당신은 당신의 태그 라이브러리 선언이 URL을 사용해야합니다 톰캣 6.0.16

답변

5

:

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> 

JSTL 버전은 1.1.2

응용 프로그램 서버입니다.

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 

하면 web.xml 파일은 서블릿 스펙이 문서는 설명이있다 2.4+

선언해야합니다 : How to Reference and Use JSTL in your Web Application

1

체크 당신의 web.xml에 웹 응용 프로그램 버전을

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 

그리고 jstl-version.jar의 META-INF에서 jstl uri를 확인하고 c.tld, fmt.tld 등을 선택하십시오. lib 버전은

이어야합니다.
<tlib-version>1.1</tlib-version> 
관련 문제