0

私は以下のコードを持っています:

<h:dataTable class="pretty" value="#{ftManagedBean.ftDataModel}" >
    <h:column>
        <f:facet name="header">
            <h:outputText value="Name"/>
        </f:facet>
    </h:column>
    <h:column>
        <f:facet name="header">
             <h:outputText value="Outstanding"/>
        </f:facet>
    </h:column>       
</h:dataTable>

<th></th>ただし、タグ間に Name と Outstanding が表示されます。なんで?<td></td>タグでそれらが必要です。どうやってやるの?

4

3 に答える 3

3

Name と Outstanding は、タグ<th>内に配置したため、最終的に要素になります。<f:facet name="header">それらを削除すると、<td>タグに出力されます。

<h:dataTable class="pretty" value="#{ftManagedBean.ftDataModel}" >
    <h:column>
        <h:outputText value="Name"/>
    </h:column>
    <h:column>
        <h:outputText value="Outstanding"/>
    </h:column>       
</h:dataTable>

テーブルの作成例については、JSF HTML タグ リファレンスを参照してください。

于 2013-03-24T19:34:04.160 に答える
1

コードを次のように変更する必要があります。

<h:dataTable class="pretty" value="#{ftManagedBean.ftDataModel}" >
    <h:column>
        <h:outputText value="Name"/>
    </h:column>
    <h:column>
        <h:outputText value="Outstanding"/>
    </h:column>       
</h:dataTable>

出力テキストを<f:facet name="header">this に対応する<th>(テーブル ヘッダー) 内でラップする場合、そうでない場合は で出力され<td>ます。

于 2013-03-24T19:37:15.703 に答える
0

私はこの解決策を試してOKです。( http://www.coderanch.com/t/431222/JSF/java/dynamically-set-panel-header-condition )

    <rich:dataGrid value="#{myMB.student.list}" rendered="#{!empty myMB.student and !empty myMB.student.list}" var="st" rowKeyVar="row">
        <rich:panel>                                            
            <f:facet name="header">
            <h:panelGroup id="panelHeader">
                <h:outputText value="Just one student" id="header1" required="true" rendered="#{!myMB.manyStudents}"/>
                <h:outputText value="#{row+1}º Student"  id="header2" required="true"  rendered="#{myMB.manyStudents}"/>
                </h:panelGroup>                                 
            </f:facet>
    <rich:panel>

于 2014-09-10T13:58:52.080 に答える