如何在 jsf 版本 1.1 中合并 jsf h:dataTable 中的标头列



我必须合并标题的列。我有两行标题要显示在jsf数据表中。所以我在 dataTable 的开头使用了这样的东西。这工作正常。但这会使渲染条件在 t:column 属性上被忽略。(所有列,与呈现的属性无关)。我尝试将渲染属性放在 h:outputText 标签上的 t:column 内,但徒劳无功。

<t:dataTable var="myvo" value=...............................>
<f:facet name="header">
<t:panelGroup><f:verbatim escape="false"> 
  <TR>   
<TH colspan="1" align="center" class="tableHeader">Title</TH>   
<TH colspan="1" align="center" class="tableHeader">myheader1</TH>   
<TH colspan="1" align="center" class="tableHeader">myheader2</TH>   
 </TR>   
</f:verbatim>
</t:panelGroup>   
</f:facet> 
<t:column rendered="#{!myvo.myflag}">
<f:facet name="header"><h:outputText value="Internal Header1"/></f:facet>
<h:outputText value="#{myvo.myContent1}" styleClass="BodyFont" /></t:column>
<t:column rendered="#{myvo.myflag}">
<f:facet name="header"><h:outputText value="Internal Header2"/></f:facet>
<h:outputText value="#{myvo.myContent2}" styleClass="BodyFont" /></t:column>
</t:column>
<t:column rendered="#{!myvo.myflag}">
<f:facet name="header"><h:outputText value="Internal Header3"/></f:facet>
<h:outputText value="#{myvo.myContent3}" styleClass="BodyFont" /></t:column>
</t:column>
<t:column rendered="#{myvo.myflag}">
<f:facet name="header"><h:outputText value="Internal Header4"/></f:facet>
<h:outputText value="#{myvo.myContent4}" styleClass="BodyFont" /></t:column>
</t:column>
<t:column rendered="#{!myvo.myflag}">
<f:facet name="header"><h:outputText value="Internal Header5"/></f:facet>
<h:outputText value="#{myvo.myContent5}" styleClass="BodyFont" /></t:column>
</t:column>

我得到了错误。我在渲染条件中使用的变量是错误的(与我的Java Bean类中定义的变量不同)。但是我不明白为什么它没有在jsp页面上抛出任何错误。

最新更新