JSF 2.1中的<f:viewParam>
和<f:param>
有什么区别?
最佳答案
简单的说:<f:viewParam>
用于<f:metadata>
内,以附加UIViewParameter
作为当前 View 的元数据。例如,如果您访问页面myapp/check.jsf?id=3
并且您的check.jsf
页面具有以下内容:
<f:metadata>
<f:viewParam name="id" value="#{mrBean.id}"/>
</f:metadata>
加载页面时,将在
3
的mrBean
属性上设置id
值。另一方面,
<f:param>
在此标记的父级(封闭)组件中设置一个参数,稍后可通过获取组件本身的参数进行访问。这特别强大(如果使用不正确,则是灾难性的),因为通过EL
您可以实现一些有趣的结果。可以在不同的上下文中使用它。 This link提供了有趣的应用范围。