gpt4 book ai didi

jsf - 在 web.xml 中使用 JSF EL 表达式

转载 作者:行者123 更新时间:2023-12-05 01:07:31 28 4
gpt4 key购买 nike

我可以在 web.xml 中使用 EL 表达式吗?
像这样

网页.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

它会起作用吗?

最佳答案

Can I use EL expression inside web.xml ?



不完全是这样。默认情况下,当 web.xml 出现时,servletcontainer 不会对上下文参数进行 EL 评估。在应用程序启动期间被解析。但是,像 Ant 和 Maven 这样的构建工具以及像 JBoss 这样的一些 servletcontainers(在设置特定的配置设置之后)支持使用 ${...}类似于 EL 的语法,在几个部署描述符 XML 文件(例如 web.xml)中按名称内联环境变量和/或 VM 参数。 , ejb-jar.xmlpersistence.xml .注意:因此是 不是 您在 JSF EL 范围内声明的那些变量,例如托管 bean。

Will it work ?



仅当 PrimeFaces 获得静态值 "#{userUtilityBacking.direction}" 时才有效。如 String然后使用例如 Application#evaluateExpressionGet() 以编程方式在当前 EL 上下文中对其进行 EL 评估.但是,基于 PrimeFaces 3.5 source code ,它在任何地方都没有这样做。看起来他们只为 4.x 实现了它。

在您的特定情况下,您最好直接在 <html> 上指定方向。元素在文档范围内和/或在 dir 中应用它任意 HTML 或 JSF 组件的属性。
<html dir="#{userUtilityBacking.direction}">

关于jsf - 在 web.xml 中使用 JSF EL 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18519272/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com