加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

非JSF组件的条件渲染(普通的vanilla HTML和模板文本)

发布时间:2020-12-14 19:38:17 所属栏目:资源 来源:网络整理
导读:我试图有条件地渲染 tr因此我无法使用 h:panelGroup因为它将呈现为 span或 div 我目前(工作)的方法如下: h:outputFormat rendered="#{negotiator.maySend}" tr my tr stuff /tr/h:outputFormat 这是有效的,但我不知道是否滥用 h:outputFormat – 之前我使
我试图有条件地渲染< tr>因此我无法使用< h:panelGroup>因为它将呈现为< span>或< div>

我目前(工作)的方法如下:

<h:outputFormat rendered="#{negotiator.maySend}">
    <tr> my tr stuff </tr>
</h:outputFormat>

这是有效的,但我不知道是否滥用< h:outputFormat> – 之前我使用了< h:outputLabel>但是这被呈现为< label>在IE中.

我也读过这个问题的答案,但如上所述,由于< tr>:How to not render whole block in JSF?,他们不会为我工作

解决方法

I cannot use <h:panelGroup> as it will render to <span> or <div>

显然你没有仔细测试.如果您没有指定最终在客户端的属性(如layout,id,styleClass等),则<h:panelGroup>将不会呈现任何内容.

因此,这在技术上应该是完美的.

<h:panelGroup rendered="#{negotiator.maySend}">
    <tr> my tr stuff </tr>
</h:panelGroup>

但是,更好的主要目的是使用<ui:fragment>.

<ui:fragment rendered="#{negotiator.maySend}">
    <tr> my tr stuff </tr>
</ui:fragment>

这也是可能的<f:verbatim>,但是自从JSF 2.0被专门用于JSP设计以来,这是不推荐的.

也可以看看:

> 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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读