是否可以使用ui:在ui中重复:include

问题描述 投票:0回答:1

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

jsf facelets uirepeat uiinclude
1个回答
0
投票

两种方式都可以。

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

这不是真的。你可以放心地这样做。唯一的限制是你不能在var<ui:repeat>中使用src<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>吗?

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

See also:

© www.soinside.com 2019 - 2024. All rights reserved.