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

时间:2015-06-18 02:42:58

标签: jsf facelets uirepeat uiinclude

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

1 个答案:

答案 0 :(得分:0)

两种方式都可以。

  

<ui:include>标记(构建时间)放在<ui:repeat>(渲染时间)

中绝对不是一个好主意

事实并非如此。你可以放心地这样做。唯一的限制是您无法在var的{​​{1}}内<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>吗?

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

另见: