回答:
はい、しかしそれは地獄のように不格好です、例えば
<c:choose>
<c:when test="${condition1}">
...
</c:when>
<c:when test="${condition2}">
...
</c:when>
<c:otherwise>
...
</c:otherwise>
</c:choose>
<c:if/>
。
<c:otherwise>
、少し冗長に見えますね?
if-elseはありません。
<c:if test="${user.age ge 40}">
You are over the hill.
</c:if>
オプションで、choose-whenを使用できます。
<c:choose>
<c:when test="${a boolean expr}">
do something
</c:when>
<c:when test="${another boolean expr}">
do something else
</c:when>
<c:otherwise>
do this when nothing else is true
</c:otherwise>
</c:choose>
ifタグを2つ使用するだけで済んだので、他の人に役立つ場合に備えて回答を追加します。
<c:if test="${condition}">
...
</c:if>
<c:if test="${!condition}">
...
</c:if>
技術的にはif-else
それ自体ではありませんが、動作は同じであり、choose
タグを使用する不格好なアプローチを回避するため、要件の複雑さによっては、これが望ましい場合があります。
choose
タグよりも望ましいかどうかについては、要件がどれほど複雑であるかに依存することを明確にしました。
このコードを使用する必要があります:
と <%@ taglib prefix="c" uri="http://www.springframework.org/tags/form"%>
そして
<c:select>
<option value="RCV"
${records[0].getDirection() == 'RCV' ? 'selected="true"' : ''}>
<spring:message code="dropdown.Incoming" text="dropdown.Incoming" />
</option>
<option value="SND"
${records[0].getDirection() == 'SND'? 'selected="true"' : ''}>
<spring:message code="dropdown.Outgoing" text="dropdown.Outgoing" />
</option>
</c:select>
これは、時間の複雑さの見通しに沿った、優れた効率的なアプローチです。真の状態になると、この後は他のチェックを行いません。複数の場合、それぞれの状態をチェックします。
<c:choose>
<c:when test="${condtion1}">
do something condtion1
</c:when>
<c:when test="${condtion2}">
do something condtion2
</c:when>
......
......
......
.......
<c:when test="${condtionN}">
do something condtionn N
</c:when>
<c:otherwise>
do this w
</c:otherwise>
</c:choose>