0

初めてJavaServerPagesを使用していますが、タグに問題があります。必要に応じて、私もEclipseで作業しています。

私が得ている特定のエラーは次のとおりです。

org.apache.jasper.JasperException: /Query.jsp (line: 5, column: 0) No tag "choose" defined in tag library imported with prefix "c"

問題は、接頭辞c..が付いたタグ「choose」があることです。

通常推奨されるURLに問題があり、一部が古くなっているようです。そこで、標準タグをダウンロードして、WEB-INF/tagsディレクトリに抽出しました。

私のjspファイルは次のように始まります。

<%@ page contentType="text/html" import="beans.*" %>
<%@ taglib prefix="c" tagdir="/WEB-INF/tags/c.tld" %>
<%@ taglib prefix="sql" tagdir="/WEB-INF/tags/sql.tld" %>
<%@ taglib prefix="fn" tagdir="/WEB-INF/tags/fn.tld" %>    
<c:choose>
....

c.tldには次のものがあります。

...
<tag>
    <description>
        Simple conditional tag that establishes a context for
        mutually exclusive conditional operations, marked by
        &lt;when&gt; and &lt;otherwise&gt;
    </description>
    <name>choose</name>
    <tag-class>org.apache.taglibs.standard.tag.common.core.ChooseTag</tag-class>
    <body-content>JSP</body-content>
</tag>

どこかに何らかの設定エラーがあると思いますが、どこにあるのか全くわかりません。

4

1 に答える 1

3

taglib宣言が間違っています。これを置き換えます:

<%@ taglib prefix="c" tagdir="/WEB-INF/tags/c.tld" %>

これとともに:

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

そして、そうではないことを確認してください(いくつかの古代のチュートリアルが言うように):

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

...そして他のライブラリについても繰り返します。ファイルの独自のコピーは必要ありません.tld。ファイルは不要になりました。

私は通常推奨されるURLに問題がありました、それらのいくつかは時代遅れのようです

どこから取得したかはわかりませんが、ほとんどすべてのJSP/サーブレットエンジンが前述のURIで動作します。これらのURIが機能しない場合は、その旨の新しい質問を投稿してください。独自のファイルをダウンロードするtldことは、ほぼ間違いなく正しいアプローチではありません。

于 2012-05-03T20:56:05.630 に答える