el上下文中哪些优先级更高?
两个托管bean,一个用于admin,另一个用于客户端:
管理员:@ManagedBean(name = "fooEditBean")
客户:@ManagedBean(name = "clientFooEditBean")
包含文件incl_fooEdit.xhtml
:
#{fooEditBean.bar}
网站管理员:
<ui:include src="incl_fooEdit.xhtml">
<ui:param name="fooEditBean" value="#{fooEditBean}/>
</ui:include>
网站客户端
<ui:include src="incl_fooEdit.xhtml">
<ui:param name="fooEditBean" value="#{clientFooEditBean}/>
</ui:include>
哪个托管bean将站点客户端使用?
可以简单地使用adminFooEditBean
或不同的参数名称。
答案 0 :(得分:1)
稍后放在EL范围中的那个优先。所以它基本上是先进先出。
在这种情况下,稍后会放置<ui:param>
值,因此它将在<ui:include>
的上下文中运行的代码中具有优先权。
但请注意,较旧的JSF impl版本可能在代码离开设置新EL变量的上下文后“重置”EL作用域时出现问题,在此特定示例中会导致代码在< / em> <ui:include>
仍然获得<ui:param>
值。如果您遇到此问题,只需升级JSF impl即可。