Jsf ui的优先级:param与bean名称
在el上下文中,什么具有更高的优先级 例子 两个托管bean一个用于管理员,一个用于客户端: 管理员:Jsf ui的优先级:param与bean名称,jsf,el,facelets,Jsf,El,Facelets,在el上下文中,什么具有更高的优先级 例子 两个托管bean一个用于管理员,一个用于客户端: 管理员:@ManagedBean(name=“fooEditBean”) 客户端:@ManagedBean(name=“clientFooEditBean”) 包含文件包含fooEdit.xhtml: #{fooEditBean.bar} <ui:include src="incl_fooEdit.xhtml"> <ui:param name="fooEditBean" va
@ManagedBean(name=“fooEditBean”)
客户端:
@ManagedBean(name=“clientFooEditBean”)
包含文件包含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>
站点管理员:
#{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
或其他参数名。后面放在EL范围中的参数名具有优先权。所以基本上是后进先出
在这种情况下,
值放在后面,因此它在
上下文中运行的代码中具有优先权
但是请注意,较旧的JSF impl版本可能在代码离开设置新EL变量的上下文后“重置”EL作用域时出现问题,在这个特定示例中,这将导致
之后的代码仍然获得
值。如果您面临这个问题,只需升级JSF impl就可以了