JSTLで文字列(String)をif elseで比較する


スポンサーリンク

JSTL(JavaServer Pages Standard Tag Library)は、JSPでよく利用される標準的なカスタムタグをまとめたもので、Jakarta TagLibsプロジェクトで開発、公開されています。

今回は、option selectタグで、ある文字列と一致した場合は、selected属性を付与してみます。

まず、サーブレット側では、以下のようにsetAttributeでBeanを渡しているとします。

req.setAttribute("bean", bean);

bean.strValueという値の中に"文字列1"という値が入っていたら、

<option value="1" selected>文字列1</option>

となるようにします。

タグリブでif ~ elseの比較をするには、choose whenを使います。

<%@ page contentType="text/html; charset=utf-8" %>
<%@ page session="false" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!-- 省略-->

<c:choose>
<c:when test = "${bean.strvalue == '文字列1'}">
  <option value="1" selected>文字列1</option>
</c:when>
<c:otherwise>
  <option value="1">文字列1</option>
</c:otherwise>
</c:choose>

<c:choose>
<c:when test="${bean.strvalue == '文字列2'}">
  <option value="2" selected>文字列2</option>
</c:when>
<c:otherwise>
  <option value="2">文字列2</option>
</c:otherwise>
</c:choose>

<c:choose>
<c:when test="${bean.strvalue == '文字列3'}">
  <option value="3" selected>文字列3</option>
</c:when>
<c:otherwise>
  <option value="3">文字列3</option>
</c:otherwise>
</c:choose>

スッキリわかるサーブレット&JSP入門

スッキリわかるサーブレット&JSP入門