【发布时间】:2016-04-21 08:40:42
【问题描述】:
我正在尝试构建书中给出的问题。
作者提到:
有时,JSTL <c:set> 标签可以解决 JSF <f:param> 标签不能解决的问题。大概,你知道我们可以使用<f:param>标签向<ui:include>标签传递参数,如下代码所示:
<ui:include src="rafa.xhtml">
<f:param name="rafa" value="Rafael Nadal Page"/>,
</ui:include>
好吧,这种方法会引发问题!现在,Rafael Nadal Page 值将通过 EL,#{rafa} 在包含页面中可用,但在包含页面的托管 bean 的构造函数中将不可用!
是时候用<c:set>标签来挽救局面了;因此,代码将更改为:
<ui:include src="rafa.xhtml">
<c:set var="rafa" value="Rafael Nadal Page" scope="request"/>,
</ui:include>
当我使用<c:set> 时,它的可用性与#{rafa} 一样完美,
在<f:param> 的情况下,它给了我一个这样的例外:
而作者提到该值将通过 EL,#{rafa} 在包含的页面中可用。我说的不是bean 的constructor 中的值,而是包含的页面。他到底是什么意思?
【问题讨论】:
-
真的提到了
<f:param>吗?应该是<ui:param>。 -
@BalusC:真的是
-
感谢您在有疑问时提出问题。