>= コンパレータを使用するこの JSP EL 式があります。私の開発環境では、期待どおりの結果が得られました。つまり、2 >= 188 は false です。ただし、私のステージング サーバーと運用サーバーでは、明らかに 2 >= 188 が true です。
コードは次のとおりです。
</ul>
<p>curPage: ${param.curPage}<br/>
totalPages: ${param.totalPages}<br/>
totalPages - curPage: ${param.totalPages - param.curPage}<br/>
curPage gt totalPages: ${param.curPage >= param.totalPages}<br/>
<p>
私の開発環境では、次のような出力が得られます。
curPage: 2
totalPages: 68
totalPages - curPage: 66
curPage gt totalPages: false
ステージング時:
curPage: 2
totalPages: 181
totalPages - curPage: 179
curPage gt totalPages: true
私の開発環境は Tomcat 7.0.29 を実行しており、ステージングは 7.0.30 を実行しています。コードベースは同じです。
上記のコードは、ファイル「pagination.jsp」(.tag である必要があることはわかっています) にあり、次のような別の jsp に含まれています。
<jsp:include page="/widgets/pagination.jsp">
<jsp:param name="totalPages" value="${actionBean.jbp.totalPages}" />
<jsp:param name="baseUrl" value="${baseUrl}" />
<jsp:param name="curPage" value="${not empty param.page?param.page:0}" />
</jsp:include>
「jbp.totalPages」は次のように定義されています。
private final int totalPages;
「param.page」は明らかにページパラメータです。
ここで、パラメーターと int の間で型変換の問題が発生する可能性があると思いますが、それが 1 つのマシンで機能し、他のマシンでは機能しない理由を説明していません。
また、JSP EL は自動型変換を行っていると思いました。
任意の考えをいただければ幸いです。