15

Spring MVC チュートリアルをチェックして、そこからこの小さな JSP コードをコピーしました。

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

<html>
    <head><title>Training, Inc.</title></head>
    <body>
        <h2><c:out value="${message}" /></h2>
    </body>
</html>

メッセージに設定された文字列があり、c:out タグは文字どおりに出力されます

${メッセージ}

以前の問題を思い出し、taglib URI を次のように変更するまで、しばらく頭を悩ませていました。

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

これは私の小さな問題を解決しました

少し前に XSLT 変換で同様の問題がありましたが、その場合は http://java.sun.com/jstl/xml から http://java.sun.com/jsp/jstl/xml に変更する必要がありまし

このリンクによると、私の春の例は、春のチュートリアルから貼り付けたのと同じように機能するはずです

質問は: この taglib URI の混乱がどこに文書化されているか知っている人はいますか? 場合によってはhttp://java.sun.com/jsp/jstlから最新バージョンを取得し、別の場合はhttp://java.sun.com/jstlから最新バージョンを取得したのはなぜですか

4

2 に答える 2

2

はい、タグリブのURIがJSTLバージョン1.0と1.1の間で変更されたことはよく知られています。古い標準を使用する例を取得し、それらを新しいtaglib JARで使用しようとすると、この問題が発生します。

于 2009-05-10T18:18:47.840 に答える
2

このエラーがまだ発生しているが、pom を手作りしている場合は、標準ライブラリを見逃している可能性があります。たとえば、私は逃した

    <dependency>
        <groupId>taglibs</groupId>
        <artifactId>standard</artifactId>
        <version>${jstl.version}</version>
    </dependency>
于 2011-01-02T18:11:12.587 に答える