次のJSFコードには、2つの別々の<c:if></c:if>
が含まれています。それを見てみましょう。JSFを使用したELのif-elseif-elseの表現
<?xml version='1.0' encoding='UTF-8' ?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:c="http://java.sun.com/jsp/jstl/core">
<h:head>
<title>JSF EL</title>
</h:head>
<h:body>
<h:form>
<c:set scope="request" var="row" property="x" value="10"/>
<c:if test="#{row==10}">
<h:outputLabel value="value = 10"/>
</c:if>
<c:if test="#{row==15}">
<h:outputLabel value="value = 15"/>
</c:if>
</h:form>
</h:body>
</html>
これは単に、実行時にJSFページに値= 10を表示します。上記の<c:if></c:if>
を以下のif-elseif-else(Javaコンテキスト)で表現する必要があります。それはJSFを使用した式言語(EL)で表すことができ、どのよう
if(row.equals(10))
{
//Do something...(JSF stuff)
}
else if(row.equals(15))
{
//Do something...(JSF stuff)
}
else
{
//Do something...(JSF stuff)
}
?
'rendered'属性がで適用されることに留意すべきである(http://stackoverflow.com/questions/4870462/conditionally-displaying-html-elements) – BalusC