我可以在 web.xml 中使用 EL 表达式吗?
像这样
Web.xml
<context-param>
<param-name>primefaces.DIR</param-name>
<param-value>#{userUtilityBacking.direction}</param-value>
</context-param>
我的 JSF bean 像这样
JSF bean
@ManagedBean(name="userUtilityBacking")
@SessionScoped
public class UserUtilityBacking implements Serializable {
private static final long serialVersionUID = 1L;
private String direction ;
// and public setters and getter
它会起作用吗?
我可以在 web.xml 中使用 EL 表达式吗?
不完全是这样。默认情况下,servletcontainer 不会在以下情况下对上下文参数进行 EL 求值:web.xml
在应用程序启动期间被解析。但是,像 Ant 和 Maven 这样的构建工具以及像 JBoss 这样的一些 servlet 容器(在设置特定的配置设置之后)支持使用${...}
类似于 EL 的语法,通过多个部署描述符 XML 文件中的名称来内联环境变量和/或 VM 参数,例如web.xml
, ejb-jar.xml
and persistence.xml
。注意:因此not您在 JSF EL 范围中声明的那些变量,例如托管 bean。
它会起作用吗?
仅当 PrimeFaces 获取静态值时才会起作用"#{userUtilityBacking.direction}"
as String
然后在当前 EL 上下文中以编程方式 EL 评估它,例如Application#evaluateExpressionGet() http://docs.oracle.com/javaee/6/api/javax/faces/application/Application.html#evaluateExpressionGet%28javax.faces.context.FacesContext,%20java.lang.String,%20java.lang.Class%29。但是,基于,它在任何地方都没有这样做。看起来他们只为 4.x 实现了它。
在您的特定情况下,您最好直接指定方向<html>
元素将其应用于整个文档和/或dir
任意 HTML 或 JSF 组件的属性。
<html dir="#{userUtilityBacking.direction}">
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)