【问题标题】:javax.el.PropertyNotFoundException: Property 'InfoController' not found on type com.ui.InfoTemplatejavax.el.PropertyNotFoundException:在类型 com.ui.InfoTemplate 上找不到属性“InfoController”
【发布时间】:2014-10-20 22:53:25
【问题描述】:

您好,我正在尝试以最少的代码更改将我的应用程序从 WAS 6.0 迁移到 WAS 8.5。我的应用程序是用 WAS8.5 不支持的 JSF 1.1 编写的。我也写了它的 getter 和 setter。此应用程序在 WAS6.0/6.1 中运行良好,但在 WAS8.5 中运行时显示异常。我必须在我的项目中添加所有的罐子,这样它才能工作。我收到以下异常:

javax.el.ELException: Property 'InfoController' not found on type com.ui.InfoTemplate javax.faces.el.EvaluationException: javax.el.ELException: Property 'InfoController' not found on type com.ui.InfoTemplate
at org.apache.myfaces.el.convert.ValueExpressionToValueBinding.getValue(ValueExpressionToValueBinding.java:169)
at com.utilities.JsfUtility.getManagedBean(JsfUtility.java:107)
at com.ui.LandingPageController.getInfo(LandingPageController.java:92)

Caused by: javax.el.ELException: Property 'InfoController' not found on type com.ui.InfoTemplate
at org.apache.myfaces.el.convert.VariableResolverToELResolver.getValue(VariableResolverToELResolver.java:127)

Caused by: javax.faces.el.EvaluationException: Property 'InfoController' not found on type com.ui.InfoTemplate
at org.apache.myfaces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:80)

Caused by: javax.el.PropertyNotFoundException: Property 'InfoController' not found on type com.ui.InfoTemplate
at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:232)
at javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:209)

【问题讨论】:

  • 在堆栈跟踪中混淆包/类名称是可以的,但只要你对这些东西还是陌生的,因此在编辑它们时很容易在不知不觉中引入新的错误,那么你绝对应该在空白沙箱项目中重新创建问题,以便您可以将代码/堆栈跟踪 未修改 复制到问题中。堆栈跟踪本身代表了整个答案(我们只需用外行的术语翻译堆栈跟踪)。如果你在代码中编辑一件小事或堆栈跟踪没有实际测试它错误的方式,那么答案可能会完全消失。

标签: jsf el jsf-1.2 ibm-was


【解决方案1】:

您遇到了 EL 语法错误。异常消息表明您有类似

public class InfoTemplate {

    public InfoController getInfoController() {
        return infoController;
    }

}

并且您正试图以InfoController 的身份访问该属性:

#{infoTemplate.InfoController}

这是错误的。属性名称不以 2 个或更多大写字母开头时,必须以小写字母开头。

#{infoTemplate.infoController}

我不确定它在旧的 WAS 版本中是如何工作的。它应该以同样的方式失败。

【讨论】:

  • 嗨,在我的 jsp 页面中,我正在调用 <f:param value="#{pInfoTemplate.memberName}" />,在我的班级中: public class PersonalInfoTemplate { private String memberName = "";//getters and setters of membername }
  • 那个参数调用getMemberName(),而不是getInfoController()
猜你喜欢
  • 2015-10-09
  • 2017-09-01
  • 2012-05-03
  • 2014-10-31
  • 2013-04-18
  • 2012-06-06
相关资源
最近更新 更多