jsf - 实现托管 JAVABean 会引发错误 : "Can' t instantiate class"

标签 jsf javabeans xpages

我尝试在我的应用程序中实现 JavaBean。我是这个主题的新手,由于它不起作用,我后退了两步,并尝试使用一个月前我自己完成的 HelloWorld 示例进行相同的操作。这次也没有成功。 我使用 8.5.3 设计器客户端,我们有一个 8.5.2 开发服务器。 我在应用程序属性中设置了兼容性 8.5.2 的标志。

JAVABean 代码如下所示:

package net.ta.java.Backend;

import java.io.Serializable;

public class MyHalloWelt implements Serializable {
    private static final long serialVersionUID = 1L;
    private String HalloWelt;

    public String getHalloWelt() {
        return HalloWelt;
    }

    public void setHalloWelt(String halloWelt) {
        HalloWelt = halloWelt;
    }

    public MyHalloWelt() {
        HalloWelt = "Hallo neue Welt!";
    }
}

面孔配置:

<?xml version="1.0" encoding="UTF-8"?>
<faces-config>
<managed-bean>
    <managed-bean-name>Test</managed-bean-name>
    <managed-bean-class>net.ta.java.Backend.MyHalloWelt</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
</managed-bean>
  <!--AUTOGEN-START-BUILDER: Automatically generated by IBM Lotus Domino Designer. Do not modify.-->
  <!--AUTOGEN-END-BUILDER: End of automatically generated section-->
</faces-config>

XPage 函数调用:

 <xp:text escape="true" id="computedField1" value="#{Test.HalloWelt}"></xp:text>

异常(exception):

Exception javax.faces.FacesException: javax.faces.FacesException: Can't instantiate class: 'net.ta.java.Backend.MyHalloWelt'.. java.lang.ClassNotFoundException: class java.lang.ClassNotFoundException: net.ta.java.Backend.MyHalloWelt javax.faces.FacesException: Can't instantiate class: 'net.ta.java.Backend.MyHalloWelt'.. java.lang.ClassNotFoundException: class java.lang.ClassNotFoundException: net.ta.java.Backend.MyHalloWelt Can't instantiate class: 'net.ta.java.Backend.MyHalloWelt'.. java.lang.ClassNotFoundException: class java.lang.ClassNotFoundException: net.ta.java.Backend.MyHalloWelt java.lang.ClassNotFoundException: class java.lang.ClassNotFoundException: net.ta.java.Backend.MyHalloWelt class java.lang.ClassNotFoundException: net.ta.java.Backend.MyHalloWelt

我遵循了这个论坛中的提示,该提示说这可能是 8.5.3 中新增的 JAVA 类设计元素的错误。就像他们在帖子中所说的那样,我尝试将我的类手动放入 src\路径中,但它不起作用 - 同样的错误。 我认为这是与我们的 8.5.2 服务器的兼容性问题,但在本地也是同样的错误。

希望有人能帮助我。我对此不知所措...谢谢!

迈克尔

编辑: 非常感谢迄今为止所有帮助我解决这个问题的人。 现在,如果我使用 Notes 客户端打开 XPage,它就可以工作了。数据库位于服务器上还是本地并不重要。如果我用浏览器打开它就不起作用。如果我这样做,错误仍然存​​在。

最佳答案

我的问题由多个部分组成:
1. 我的 Bean 属性拼写错误“HalloWelt”=>“halloWelt”
2. 我的服务器没有安装德语语言包,这导致了有关资源文件的误导性错误消息。
3.最后的主要问题是Domino Server 8.5.2无法识别Notes/Domino 8.5.3中新增的“Class/JAVA”文件夹!如果我将 JAVABean 移动到新创建的“src”文件夹,JAVABean 就会被识别并且一切正常。 - 有点令人困惑的是,在移动 java 文件之前,XPage 在 Notes 客户端中工作正常。只有浏览器才会产生错误...

感谢大家为我提供了所需的提示。正如我所期望的那样,我学到了更多关于JAVA开发的知识。 :)

迈克尔

关于jsf - 实现托管 JAVABean 会引发错误 : "Can' t instantiate class",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17291010/

相关文章:

jsf - 操作 CSRF token 后,在 <protected-views> 中声明的 View 仍然可以访问

java - 使用带有自定义 Bean 解析器的 .properties 文件

mysql - 无法在jsf中编辑数据库表

html - 如何在 XPage 上删除 HTML 元素 beforePageLoad

paypal - 处理来自 URL 调用的响应

XPage 设计刷新

java - JSF2.0 中的空白输入字段未设置为 NULL

java - 将值从 Servlet 传递到 WebLogic 中的 JSF Action 方法

jsf - 为实体创建主从页面、如何链接它们以及选择哪个 bean 范围

java - 是否可以使用 Spring XML 访问字符串索引的 getter?