我<t:datatable>
内<c:forEach>
个<c:forEach>
个项目列表。 (我从后端bean检查过。)
<t:dataTable id="insuranceListTable" rowIndexVar="row" width="100%"
styleClass="table" cellspacing="0" border="0"
value="#{insuranceBackingBean.allInsurancesByPatientId}"
var="insuranceBean">
<h:column>
<f:facet name="header">
<f:verbatim>Drug Formulary</f:verbatim>
</f:facet>
<h:panelGroup id="formularyInformation">
<h:panelGroup rendered="#{!empty insuranceBean.response4CheckDrugFormulary.reactionList[0].warningList}">
<c:forEach items="${insuranceBean.response4CheckDrugFormulary.reactionList[0].warningList}" var="warning">
<b><span title="${warning.warningText}"><c:out value=" [${warning.warningCode}] "></c:out></span></b>
</c:forEach>
</h:panelGroup>
<a4j:commandLink onclick="setVisibleAlternativeListGrid();" rendered="#{!empty insuranceBean.response4CheckDrugFormulary.reactionList[0].drugAlternativeList.alternativeList}">
<a href="#" id="alternative">Alternative [<h:outputText value="#{insuranceBean.response4CheckDrugFormulary.reactionList[0].drugAlternativeList.count}"></h:outputText>]</a>
</a4j:commandLink>
<a4j:commandLink onclick="setVisibleAlternativeListGrid();" rendered="#{!empty insuranceBean.response4CheckDrugFormulary.reactionList[0].coPayList}">
<a href="#" id="coPay">Co-Pay</a>
</a4j:commandLink>
</h:panelGroup>
</h:column>
</t:dataTable>
以下不反映任何事情...... :(
<c:forEach items="${insuranceBean.response4CheckDrugFormulary.reactionList[0].warningList}" var="warning">
<b><span title="${warning.warningText}"><c:out value=" [${warning.warningCode}] "></c:out></span></b>
</c:forEach>
答案 0 :(得分:3)
JSTL标记在视图构建期间运行,其中JSF组件树是基于视图源代码生成的。 JSF组件在视图呈现期间运行,其中HTML输出基于JSF组件树生成。换句话说,JSTL标记和JSF组件不会像编码所期望的那样同步运行。
在您的特定情况下,在<c:forEach>
运行的那一刻,${insuranceBean}
将始终评估为null
,因为它已被定义为JSF var
<t:dataTable>
那个时刻没有运行的组件。
您需要<t:dataList>
而不是<c:forEach>
。
<t:dataList value="#{insuranceBean.response4CheckDrugFormulary.reactionList[0].warningList}" var="warning">
<b><span title="#{warning.warningText}"><h:outputText value=" [#{warning.warningCode}] " /></span></b>
</t:dataList>