2012-05-03 10 views
0

初めてJavaサーバーのページを使用していますが、タグに問題があります。私もEclipseで作業しています。接頭辞「c」でインポートされたタグライブラリで定義されたタグ「選択」がありません

私は取得しています特定のエラーがある:

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

問題があり、そこにタグである私はとのトラブルを抱えていた...接頭辞Cで

「を選択してください」 URLは通常推奨されていますが、古いものがあるようですので、標準タグをダウンロードしてWEB-INF/tagsディレクトリに展開しました。

<%@ 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があります:

私のJSPファイルはで始まり

... 
<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> 

それはどこかに設定エラーのいくつかの並べ替えがあることを私の推測だが、私は場所については全く無知ですそれは可能性があります。

+0

質問の下にある[[jstl]]タグの上にマウスを置いて、ボックスがポップアップしてから* info *リンクをクリックしてください。 – BalusC

答えて

3

あなたのtaglib宣言が間違っています。

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

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

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

:この置き換え

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

を...と他のために繰り返しますライブラリ。 .tldファイルのコピーは必要ありません。もう不要です。

私は通常推奨されたURLに問題を抱えていた

が、それらのいくつかは、あなたが得たところ、私はよく分からない

古くなっているようだが、ほぼすべてのJSP /サーブレットエンジンからなることを私が言及したURIで動作します。これらのURIがでない場合はとなります。その場合は、新しい質問を投稿してください。あなた自身のtldファイルをダウンロードすることは、確かに正しいアプローチではありません。

+0

私はその変更を行いましたが、今は 'org.apache.jasper.JasperExceptionを取得しています:http://java.sun.com/jstl/coreは、web.xmlまたはデプロイされたjarファイルでは解決できませんこのアプリケーションでは、 私は '解決できない'ビットが私は彼らが時代遅れだと思った理由だと思う。私は鍵となるかもしれないバージョンについて何かを見つけましたが、他のアドバイスは大歓迎です!ありがとう! – munk

+0

taglib URIを、彼の答えに含まれるskaffmanとして変更しないでください。 – BalusC

+0

@usmcs: 'http:// java.sun.com/jstl/core'は私が言ったことではありません。その答えをお読みください。 – skaffman

関連する問題