【问题标题】:I met problem trying to use EL in JSTL tags尝试在 JSTL 标签中使用 EL 时遇到问题
【发布时间】:2009-05-22 17:09:04
【问题描述】:

我正在尝试在 jstl 标签中使用表达式语言,但出现了奇怪的错误。

"根据 TLD 或标签文件中的属性指令,属性值不接受任何表达式"

代码是这样的:

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

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

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

我将 jstl.jar 和 standard.jar 添加到 WEB-INF/lib/(以及类路径)。包含 jstl 的指令是标准的:

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

JSTL 版本为 1.1.2

应用服务器:tomcat 6.0.16

【问题讨论】:

    标签: jsp jstl el


    【解决方案1】:

    您必须在 taglib 声明中使用此 URL。

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

    确保您的 web.xml 已声明 servlet 规范 2.4+

    本文有解释:How to Reference and Use JSTL in your Web Application

    【讨论】:

      【解决方案2】:

      检查 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>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-10
        • 2019-01-25
        相关资源
        最近更新 更多