同僚に JSTL タグを使用してはいけない理由を説明したかったのですが、すべてがレンダリングされる理由がわかりませんでした。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jstl/core">
<h:outputLabel>#{dummyBean.pageBuild}</h:outputLabel>
<h:outputLabel>#{dummyBean.pageRerendered}</h:outputLabel>
<h:outputLabel>#{dummyBean.pageBuild and !dummyBean.pageRerendered}</h:outputLabel>
<h:outputLabel>#{dummyBean.pageBuild and dummyBean.pageRerendered}</h:outputLabel>
<c:if test="#{dummyBean.pageBuild and !dummyBean.pageRerendered}">
<h:outputLabel value="Section 1"></h:outputLabel>
</c:if>
<c:if test="#{dummyBean.pageBuild and dummyBean.pageRerendered}">
<h:outputLabel value="Section 2"></h:outputLabel>
</c:if>
</ui:composition>
結果は
true
false
true
false
Section 1
Section 2
私は彼らがそうなると思っていたでしょう
true
false
true
false
Section 1