4

私のjspページで指定しています:

<c:choose>
line 1: <c:when test="${com.community_classification_id.contains('1')}">
            <input type="checkbox" id="by_invitation1"   name="invitaion" value="1" checked="true">By Invitation<span style="padding-left:28px"></span>
        </c:when>
        <c:otherwise>
            <input type="checkbox" id="by_invitation1"   name="invitaion" value="1">By Invitation<span style="padding-left:28px"></span>
        </c:otherwise>
</c:choose>

しかし、@行番号。1それは私に500エラーを与えます

The function contains must be used with a prefix when a default namespace is not specified

私はそれを理解することができません。なにが問題ですか?

4

2 に答える 2

6

これをチェックしてください: JSTL fn:contains() 関数

別の文字列内の文字列を見つけるために使用されます(これはあなたが達成しようとしていると思います)

あなたのコードで:

<c:choose>
    <c:when test="${fn:contains(com.community_classification_id, '1')}">
        <input type="checkbox" id="by_invitation1" name="invitaion" value="1" checked="true">By Invitation<span style="padding-left:28px"></span>
    </c:when>
    <c:otherwise>
        <input type="checkbox" id="by_invitation1" name="invitaion" value="1">By Invitation<span style="padding-left:28px"></span>
    </c:otherwise>
</c:choose>

taglib を使用するために JSP に含めることを忘れないでください。

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
于 2012-07-30T07:24:40.373 に答える
1

ELで静的メソッドを使用できますが(そうであると思いcom.community_classification_id.containsます)、最初にカスタムEL関数を定義する必要があります。

この回答と、JSPでEL関数を作成して使用する方法を示すこの回答を確認してください。次に、taglib をインポートし、これらの回答に示されているような接頭辞を付けて静的メソッドを使用することを忘れないでください。

于 2012-07-30T07:21:19.807 に答える