JSPでELを使って文字列比較をしようとしてハマったのでメモ。
-- Actionクラス --
public class TestAction {
/** JSPに渡す変数 */
public String paramToCompare;
@Execute(validator = false)
public String index() {
this.paramToCompare = "abc";
return "index.jsp";
}
}
-- JSP --
<c:if test="${paramToCompare=='abc'}" var="isAbc" />
<c:if test="${isAbc}">
param の内容は abc です。
</c:if>
-- メモ --
はまったこと。
理由はわからないが、JSPを以下のように記述したらJSP生成エラーとなった。
<c:if test="${paramToCompare=='abc'}">
param の内容は abc です。
</c:if>
これもはまった。
<c:if test="${paramToCompare=='abc'}" var="isAbc" />
<c:if test="isAbc"> ← ${ } で囲む必要あり
param の内容は abc です。
</c:if>
