如何在 JSF panelGrid 中添加一个空元素?
Posted
技术标签:
【中文标题】如何在 JSF panelGrid 中添加一个空元素?【英文标题】:How to add an empty element in a JSF panelGrid? 【发布时间】:2015-04-21 01:42:03 【问题描述】:这是我的全桌:
<h:panelGrid columns="2">
<h:outputLabel value="row1"/>
<h:outputLabel value="row2"/>
<h:outputLabel value="row1"/>
<h:outputLabel value="row2"/>
<h:outputLabel value="row1"/>
<h:outputLabel value="row2"/>
</h:panelGrid>
如何添加空元素?建议的方法是什么? (添加一个空的输出标签?这感觉不正确。)
<h:panelGrid columns="2">
<h:outputLabel value="row1"/>
<h:outputLabel value="row2"/>
<!-- This need to be emtpy -->
<h:outputLabel value="row2"/>
<h:outputLabel value="row1"/>
<h:outputLabel value="row2"/>
</h:panelGrid>
【问题讨论】:
“空”是否意味着只有它的value
应该保持为空?如果是这种情况,为什么<h:outputLabel value=""/>
不够呢?出于什么目的需要一个空的<h:outputLabel>
?它应该和它根本不存在一样好。不是吗?
奥拉!添加 确实有效!这是最佳做法吗?请回答。出于布局原因,我需要一个空单元格。
这篇文章的所有其他潜在读者应该已经准确理解了这个问题,但我还没有理解 - 一个愚蠢的想法:)
【参考方案1】:
如果你不需要动态改变单元格的内容,只需要一个空单元格,可能使用
<h:panelGrid columns="2">
<h:outputLabel value="row1"/>
<h:outputLabel value="row2"/>
<h:outputText/>
<h:outputLabel value="row2"/>
<h:outputLabel value="row1"/>
<h:outputLabel value="row2"/>
</h:panelGrid>
【讨论】:
【参考方案2】:使用空的<h:panelGroup>
。
<h:panelGrid columns="2">
<h:outputLabel value="row1"/>
<h:outputLabel value="row2"/>
<h:panelGroup />
<h:outputLabel value="row2"/>
<h:outputLabel value="row1"/>
<h:outputLabel value="row2"/>
</h:panelGrid>
另见:
Java EE tutorial -<h:panelGrid>
与具体问题无关,您是否非常清楚何时应该使用<h:outputLabel>
而不是<h:outputText>
?如果没有,请仔细阅读Purpose of the h:outputLabel and its "for" attribute。
【讨论】:
这让我很困惑:还有 代表一个空单元格...更喜欢什么? 坏主意。可以将 Facelets 配置为删除 cmets。另见例如***.com/questions/3388109/…以上是关于如何在 JSF panelGrid 中添加一个空元素?的主要内容,如果未能解决你的问题,请参考以下文章