Sam*_*mar 4 jsf el java-ee jsf-2
我可以在web.xml中使用EL表达式吗?像这样
Web.xml
<context-param>
<param-name>primefaces.DIR</param-name>
<param-value>#{userUtilityBacking.direction}</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)
和我的JSF bean这样
JSF豆
@ManagedBean(name="userUtilityBacking")
@SessionScoped
public class UserUtilityBacking implements Serializable {
private static final long serialVersionUID = 1L;
private String direction ;
// and public setters and getter
Run Code Online (Sandbox Code Playgroud)
能行吗?
我可以在web.xml中使用EL表达式吗?
不完全是这样。默认情况下,web.xml在应用程序启动期间解析时,servlet容器不对上下文参数进行EL评估。然而,这样的构建工具Ant和Maven和像JBoss一些servletcontainers采用支持(设置特定的配置设置后)${...}类似EL内联的环境变量和/或VM参数语法通过他们的名字在一些部署描述符XML文件,如web.xml,ejb-jar.xml和persistence.xml。注意:因此,这些不是您在JSF EL范围中声明的变量,例如托管Bean。
能行吗?
仅当PrimeFaces获得静态值"#{userUtilityBacking.direction}"as String,然后使用例如在当前EL上下文中以编程方式对它进行EL评估时,它才有效Application#evaluateExpressionGet()。但是,基于PrimeFaces 3.5源代码,它并没有在任何地方这样做。看起来他们只为4.x实现了它。
在特定情况下,最好直接在<html>元素上指定方向,以在整个文档范围内和/或在dir任意HTML或JSF组件的属性中应用方向。
<html dir="#{userUtilityBacking.direction}">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1804 次 |
| 最近记录: |