1

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

4

2 に答える 2

5

この URL を taglib 宣言で使用する必要があります。

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

web.xml でサーブレット仕様 2.4+ が宣言されていることを確認してください

この記事には説明があります: Web アプリケーションで JSTL を参照して使用する方法

于 2009-05-22T17:23:22.813 に答える
1

web.xml で web-app のバージョンを確認してください

<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>
于 2012-03-02T07:27:49.443 に答える