[英]Displaying data using JSF dataTable
我想在JSF中使用h:dataTable
標簽顯示數據我顯示的數據必須是這樣的格式:
Name: XXXX
ID: 8989
Age: 32
我在網上看到了幾個例子,告訴你如何顯示這樣的數據:
姓名ID年齡XXX 8989 32
由於dataTable
標簽只有一個子標簽h:column
和NO h:row
我遇到了問題。 有一個更好的方法嗎? 我已經使用h:datable
和h:column
實現了我提到的第一種格式,所以首先我只寫出第1列中的所有列標題,然后寫出column2中的所有值。 我面臨的問題是,當其中一個值為空時,下一個值將打印在其位置並且數據顯示錯誤,這實際上是格式化問題。 當數據為空時,它應為其留出空間,然后在下一行中打印下一個值。 希望我有意義,任何想法都會受到高度贊賞。
我嘗試添加以下內容:
<h6><h:outputText value="#{empty imeiInfo.userEmail ? ' ' : imeiInfo.userEmail}"></h:outputText></h6><br/>
但是這里有一個語法錯誤,我無法弄清楚,我得到的信息是:
EL中的語法錯誤
有任何想法嗎? 謝謝。
它只是針對非重復數據嗎? 如果是這樣,請使用<h:panelGrid>
例如:
<h:panelGrid columns="2">
<h:outputText value="Name:"/>
<h:outputText value="#{person.name}"/>
<h:outputText value="ID:"/>
<h:outputText value="#{person.id}"/>
<h:outputText value="Age:"/>
<h:outputText value="#{person.age}"/>
</h:panelGrid>
如果是重復數據(即多個'人'),那么根據您使用的其他庫,您有許多選項。 例如:
1:使用Facelets <ui:repeat>
構建自己的表(您可以對<c:for>
執行相同操作)。 例如:
<table>
<ui:repeat value="#{myBean.persons}" var="person">
<tr>
<td>
<h:outputText value="Name:"/>
</td>
<td>
<h:outputText value="#{person.name}"/>
</td>
</tr>
<tr>
<td>
<h:outputText value="ID:"/>
</td>
<td>
<h:outputText value="#{person.id}"/>
</td>
</tr>
<tr>
<td>
<h:outputText value="Age:"/>
</td>
<td>
<h:outputText value="#{person.age}"/>
</td>
</tr>
<tr>
<td colspan="2">
 
</td>
</tr>
</ui:repeat>
</table>
編輯:我沒有嘗試這個,但你應該能夠在第一個例子( <h:panelGrid>
)中用<c:for>
來包圍重復元素。 <c:for>
在<h:panelGrid>
之前處理。 應該管用。
我不確定你想要如何呈現你的桌子。 如果您能提供表格的JSF代碼,我認為這對我們有幫助...
但是,關於這一點:
當數據為空時,它應為其留出空間,然后在下一行中打印下一個值
也許你可以試試這樣的東西:
<h:outputText value="#{empty aRecord.name ? ' ' : aRecord.name}"/>
如果記錄的名稱為空,此代碼將呈現不可破壞的空間,否則將呈現記錄的name
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.