我尝试在我的应用程序中实现 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/