【问题标题】:Reading JSF property on JSTL tag (MyFaces 1.2)读取 JSTL 标记上的 JSF 属性 (MyFaces 1.2)
【发布时间】:2012-07-12 05:45:08
【问题描述】:

我在将旧应用程序从 MyFaces 1.1 迁移到 MyFaces 1.2 时遇到问题。在旧应用程序中,如果 a 有一个 ManagedBean exampleMBean,我可以通过 ${exampleMBean.somePropertie} 读取这些属性,但是在将 MyFaces 迁移到 MyFaces 1.2 后,这种访问不起作用,总是返回 null。

如果我尝试使用 ,那么这不起作用。标记无法检索 ${exampleMBean.someValue} 值。为了解决这个问题,我将 c:if 测试事件替换为 t:div render="#{exampleMBean.someValue}",现在可以使用了。

如果我尝试使用具有显式值的 JSTL 标记,它们会起作用,但是当我尝试访问“jsf 上下文”时,无法检索到值。

我正在使用 JBoss 4.2.3,我的项目将 org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL 设置为 true 以使用我的项目附带的 myfaces 库。

提前致谢。

【问题讨论】:

  • 只是问,但是,您是否尝试使用#{exampleBean.someValue} 而不是${exampleBean.someValue}?它适用于您的 t:div。 EL 表达式用#{} 括起来。
  • 您好,当我尝试从 ${ 更改为 #{ 时收到此错误:根据标记文件中的 TLD 或属性指令,属性测试不接受任何表达式
  • 有时配置问题会阻止 JSTL 标记解释 EL 表达式。您使用的是哪个版本的 JSTL?。
  • 您能发布您的 xmlns 声明吗?
  • (我很抱歉格式化,但我是新来的......) java.sun.com/jsp/jstl/core" %> java.sun.com/jsf/html" prefix="h"%> java.sun.com/jsf/core" prefix="f"%> java.sun.com/jsp/jstl/functions" prefix="fn"%> myfaces.apache.org/tomahawk" prefix="t"%> java.sun.com/jsp/jstl/fmt" %>

标签: java jstl myfaces


【解决方案1】:

我已经解决了在两个上下文中“启动”bean 的问题,实际上我只是在 ManagedBeans 超类中创建了一个方法“create”并调用它,这个方法启动 bean 并在两个上下文中抛出它 JSP 和JSF。可能不是“智能”解决方案,但会是暂时的。

【讨论】:

    猜你喜欢
    • 2014-03-29
    • 1970-01-01
    • 2014-03-10
    • 2023-03-20
    • 2012-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多