2012-03-01 10 views
0

正しい値を返さないGT私は予想通り「GT」を評価していないいくつかのJSTLの問題点、いくつかのコードがあります。JSTLは

<c:choose> 
<c:when test="${param.totalPages > pageLinkCount}"> 

ブロックは、むしろそれは常にレンダリング時にJSPがそのコンテンツをレンダリングすることはありませんがブロックの内容テストに関する何かが失敗しています。

私は解決策が... VARSはロングス(彼らはあまりにも私のためにしている)であることを

<%@ attribute name="currentPage" required="true" type="java.lang.Long" %> 

をJSP/JSTLエンジンを指示する宣言を追加関与どこhere for a similar looking problemを見つけた解決策を試してみました...しかし、私そのエラーを見つけました:

org.apache.jasper.JasperException: /WEB-INF/jsp/includes/pagination.jsp(4,13) &lt;%@ attribute directive can only be used in a tag file 
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40) 
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407) 
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:132) 

テストはJSPでこのように含ま含まれる:

<jsp:include page="../includes/pagination.jsp" > 
    <jsp:param value="${pages}" name="totalPages"/> 
    ....other params 

いくつかのテストは、HTMLに出力値:

param.TotalPages:171

TotalPages:171(私はparam.totalPagesの値を代入しようとしたローカルJSTLのVAR)

電流:64

BeginPage:1

ENDPAGE:171

PageLinkCount:3

+0

'$ {param.totalPages}'と '$ {pageLinkCount} 'の出力は何ですか?私は、ページ全体がリクエストパラメータであることが奇妙であることを知っています。 –

+0

totalPagesは正しい数値を出力しますが、ページ番号jspは他のページに含まれています: ....他のパラメータ – DaFoot

答えて

0

<@include 

ディレクティブに含まれ、Cへのparamsを変更:代わりにVARを設定し、今では動作しているようです。

私はjspを使うのが好きです:ページをインクルードするスタイルをインクルードしていますが、期待通りに処理されていないようです。@ directiveスタイルに固執します。

0

このエラーシナリオは、典型的には、タイプミス、大文字対小文字、又は類似している:

  • param.totalPagesVS param.TotalPages
  • pageLinkCountPageLinkCount
VS

JSTL変数名では大文字と小文字が区別されないため、これを確認してください。私は

<jsp:include 

スタイルから変更

+0

すべてのパラメータ/変数名が正しい – DaFoot