我的问题是我无法弄清楚如何使 /* REXX */
say 'sysvar(syspref):' sysvar(syspref)
say 'sysvar(sysuid): ' sysvar(sysuid)
内部的EL代码与<f:facet>
<h:dataTable>
属性一起工作。
JSF代码:
var
产生的东西:
<h:dataTable value="#{backingBean.someList}" var="absolutelyUniqueVar">
<h:column>
<f:facet name="header">#{backingBean.someEntity}</f:facet>
<h:outputText value="#{backingBean.someEntity.someField}"/>
</h:column>
<h:column>
<f:facet name="header">#{absolutelyUniqueVar.anotherField}</f:facet>
<h:outputText value="#{absolutelyUniqueVar.anotherField}"/>
</h:column>
</h:dataTable>
如您所见,第一个<table>
<thead>
<tr>
<th>someEntityClass@f613189e</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>someField</td>
<td>anotherField</td>
</tr>
</tbody>
</table>
中的EL可以正常工作,但是第二个则什么也没产生。
我对JSF不熟悉,所以我将不胜感激。 谢谢。
答案 0 :(得分:3)
这是预料之中的。在公共标头中使用迭代变量的值没有任何意义。你会在那里显示什么?如果到达第二行该怎么办?覆盖第一个元素的值?然后最后您只会看到最后一个元素的值。但是由于这也没有意义,所以您想要的东西就不可能了。无论有没有JSF,这都毫无意义。
在引用中引用@BalusC的评论,也适用于此:
..,但是您并不清楚要在列标题中确切显示在哪一行上,也不清楚为什么。通常,表不能那样工作。列标题应代表该列的说明,例如“名称”,“电子邮件”,“标题”,“价格”等。在您的特定情况下,“键”和“值”将是这两列的候选标题。注意,这不是JSF问题,而只是表格数据的一般模型/设计问题。在任何其他演示文稿框架中尝试相同的操作时,都会遇到完全相同的问题。
如果您要使用某个元素的值(例如,度量单位的通用单位),则在标头中显式引用一个(第一个?)元素:
#{backingBean.someList[0].uom}
另请参见