0

実際のデータを追加する前に、今すぐテスト用に簡単なページを作成しようとしています。

ブール値を返すメソッド isEmpty() を指定するインターフェースがあり、JSP に次のコードがあります。

<c:if test="${not empty output}">
    <h2>${output.title}</h2>
    <c:choose>
        <c:when test="${output.empty}">
            <h3>No results found.</h3>
        </c:when>
        <c:otherwise>
            <table title="Unique Users Report">
                <tr>
                    <th>Range</th>
                    <th>Number of Unique Users</th>
                </tr>
                <tr>
                    <td>Monday<br />10/29/2012</td>
                    <td>1990</td>
                </tr>
                <tr>
                    <td>Tuesday<br />10/30/2012</td>
                    <td>1000</td>
                </tr>
                <tr>
                    <td>Wednesday<br />10/31/2012</td>
                    <td>2112</td>
                </tr>
                <tr>
                    <td>Thursday<br />11/01/2012</td>
                    <td>2321</td>
                </tr>
            </table>
        </c:otherwise>
    </c:choose>
</c:if>

この時点ではモデルに出力が設定されていないため、このコード部分に到達することさえできません。テストの行「${output.empty}」を「${not empty output}」に置き換えると、Tomcat がこの EL を解析できるようになります。ただし、現在のコードでは、コードは次のエラーで失敗します (この時点では出力も実装されていないため、モデルには何もないことに注意してください)。

org.apache.jasper.JasperException: /WEB-INF/jsp/reports/uniqueUsers.jsp(19,3) "${output.empty}" contains invalid expression(s): javax.el.ELException: Error Parsing: ${output.empty}
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:198)
at org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1186)
at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:846)

では、空のプロパティは EL で許可されていませんか、それとも何か不足していますか? Tomcat 6.0.32 を使用しています。

4

1 に答える 1

0

ここで答えを見つけることができました: http://www.coderanch.com/t/464534/JSP/java/JSTL-empty-keyword

どうやら ${bean['empty']} を使用してこのプロパティにアクセスできるようです。

于 2012-11-07T20:04:21.907 に答える