2009-05-22 60 views
1

我试图在jstl标签中使用表达式语言,但发生了奇怪的错误。我遇到了试图在JSTL标签中使用EL的问题

“据TLD或属性在标签文件指令,属性值不接受任何表情”

的代码是这样的:

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

但接下来的代码执行得好:

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

我将jstl.jar和standard.jar添加到WEB-INF/lib /(和classpath)中。指令包括用于JSTL是标准:

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

JSTL版本1.1.2

应用服务器:tomcat的6.0.16

回答

1

检查在web-app版本在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>