问题描述
我试图有条件地呈现< tr>
,因此我无法使用< h:panelGroup>
,因为它会呈现为< span>或< div>
我目前的(工作)方法如下:
< h:outputFormat rendered =#{negotiator.maySend}>
< tr>我的东西< / tr>
< / h:outputFormat>
这有效,但我不确定是否滥用 < h:outputFormat>
- 在此之前,我使用了< h:outputLabel>
,但是这被呈现为<标签>
在IE中。
我也读过这个问题的答案,但正如上面提到的,他们不会为我工作, < tr>
: em>我无法使用< h:panelGroup>
,因为它会呈现为< span>
或<$ c
$ p $显然你没有仔细测试它。 将不会呈现任何内容,如果您没有指定最终会出现在客户端的属性,如 layout
, id
, styleClass
等。
< h:panelGroup rendered =#{negotiator.maySend} >
< tr>我的东西< / tr>
< / h:panelGroup>
然而,更好的主要目的是使用,但自从JSF 2.0专门为JSP中的使用而设计以来,这已被弃用。
另见:
在组件的哪个已经呈现的属性上> Ajax更新/渲染不起作用
I'm trying to conditionally render a <tr>
therefore I cannot use <h:panelGroup>
as it will render to <span> or <div>
My current (working) approach is the following:
<h:outputFormat rendered="#{negotiator.maySend}">
<tr> my tr stuff </tr>
</h:outputFormat>
This works, but I'm not sure if that's the way to abuse <h:outputFormat>
- before that I used <h:outputLabel>
but this was rendered to <label>
in IE.
I have also read the answers to this question, but as mentioned above, they won't work for me because of the <tr>
: How to not render whole block in JSF?
Apparently you didn't test it carefully. The <h:panelGroup>
won't render anything if you don't specify attributes which should end up in the client side, like layout
, id
, styleClass
, etc.
Thus, this should technically perfectly work fine.
<h:panelGroup rendered="#{negotiator.maySend}">
<tr> my tr stuff </tr>
</h:panelGroup>
However, better for the main purpose would be to use <ui:fragment>
.
<ui:fragment rendered="#{negotiator.maySend}">
<tr> my tr stuff </tr>
</ui:fragment>
This is by the way also possible with <f:verbatim>
, but this is deprecated since JSF 2.0 as it's designed specifically for usage in JSP.
See also:
- Alternative to ui:fragment in JSF
- Conditionally displaying JSF components
- How to find out client ID of component for ajax update/render? Cannot find component with expression "foo" referenced from "bar"
- Ajax update/render does not work on a component which has rendered attribute
这篇关于有条件地呈现非JSF组件(普通香草HTML和模板文本)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!