0

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

4

1 回答 1

1

两种方式都可以。

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

这不是真的。您可以安全地这样做。唯一的限制是您不能使用varof <ui:repeat>inside srcof <ui:include>。换句话说,以下方法将不起作用

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

这仅在您替换为时<ui:repeat>有效<c:forEach>

但是,如果您不这样做,例如

<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>

那么就没有问题了。一切都会正常工作。


但相反的做法可以吗?我们可以<ui:repeat>在里面使用<ui:include>吗?

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

也可以看看:

于 2015-06-18T06:56:30.947 回答