【问题标题】:Is it ok to use a ui:repeat inside a ui:include是否可以在 ui:include 中使用 ui:repeat
【发布时间】:2015-09-03 12:26:48
【问题描述】:

我们都知道构建时间和渲染时间之间的区别。将<ui:include> 标签(构建时间)放在<ui:repeat>(渲染时间)中绝对不是一个好主意,但是相反的做法可以吗?我们可以在<ui:include> 中使用<ui:repeat> 吗?

【问题讨论】:

    标签: jsf facelets uirepeat uiinclude


    【解决方案1】:

    两种方式都可以。

    <ui:include> 标签(构建时间)放在<ui:repeat>(渲染时间)中绝对不是一个好主意

    这不是真的。您可以安全地这样做。唯一的限制是您不能在src<ui:include> 内部使用<ui:repeat>var。换句话说,以下方法将行不通

    <ui:repeat value="#{bean.items}" var="item">
        <ui:include src="/WEB-INF/includes/#{item.foo}.xhtml" />
    </ui:repeat>
    

    这仅在您将 &lt;ui:repeat&gt; 替换为 &lt;c:forEach&gt; 时有效。

    但如果你不这样做,例如

    <ui:repeat value="#{bean.items}" var="item">
        <ui:include src="/WEB-INF/includes/foo.xhtml">
            <ui:param name="foo" value="#{item.foo}" />
        </ui:include>
    </ui:repeat>
    

    那么就没有问题了。一切都会好起来的。


    但是相反的做法可以吗?我们可以在&lt;ui:include&gt; 中使用&lt;ui:repeat&gt; 吗?

    您也可以安全地这样做。如果遇到问题,只需按右上角的“”按钮即可。

    另见:

    【讨论】:

      猜你喜欢
      • 2015-10-22
      • 1970-01-01
      • 1970-01-01
      • 2014-09-04
      • 2011-11-23
      • 1970-01-01
      • 2015-08-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多