我试图在我的应用程序中实现JavaBean。我是这个主题的新手,因为它没有用,我退了两步,并尝试了一个HelloWorld示例,我在一个月前完成了自己的工作。这次它也不起作用。 我使用8.5.3 Designer客户端,我们有一个8.5.2开发服务器。 我在Application属性中设置了兼容性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!";
}
}
faces-config:
<?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>
例外:
异常javax.faces.FacesException:javax.faces.FacesException:无法实例化类:'net.ta.java.Backend.MyHalloWelt'.. java.lang.ClassNotFoundException:class java.lang.ClassNotFoundException:net.ta.java.Backend.MyHalloWelt javax.faces.FacesException:无法实例化类: 'net.ta.java.Backend.MyHalloWelt'.. java.lang.ClassNotFoundException: class java.lang.ClassNotFoundException: net.ta.java.Backend.MyHalloWelt无法实例化类: '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类 java.lang.ClassNotFoundException:net.ta.java.Backend.MyHalloWelt
我在这个论坛中提示,这可能是8.5.3中新增的JAVA类设计元素的错误。就像他们在帖子中说的那样,我试图将我的类手动放在src \ path中,但它没有用 - 同样的错误。 我认为这是与我们的8.5.2服务器的兼容性问题,但本地相同的错误。
我希望有人可以帮助我。我对此感到茫然......谢谢!
迈克尔
编辑: 非常感谢所有人到目前为止帮助我解决这个问题。 现在,如果我使用Notes CLient打开XPage,它就可以工作了。如果数据库在服务器上或本地是无关紧要的。如果我用浏览器打开它,它就不起作用了。如果我这样做,错误仍然存在。
答案 0 :(得分:2)
我的问题包括多于一部分:
我的Bean-Attribute“HalloWelt”=&gt;的拼写错了。 “halloWelt”
2.我的服务器没有安装德语语言包,这导致了有关资源文件的误导性错误消息
3.主要问题最终是Domino Server 8.5.2无法识别Notes / Domino 8.5.3中新增的“Class / JAVA”文件夹!如果我将JAVABean移动到新创建的“src”文件夹,JAVABean将被识别,一切正常。 - 有点令人困惑的是,在移动java文件之前,XPage在Notes客户端中运行良好。只有浏览器会产生错误...
感谢大家为我提供了所需的提示。我已经按照我的预期学到了很多关于JAVA开发的知识。 :)
迈克尔
答案 1 :(得分:1)
每当我遇到这个问题时,我选择DDE项目 - 清理......并清理整个项目。这会重新编译您的所有代码,Xpages等......
除此之外,我总是为我的托管bean分配一个ID,如:
<managed-bean id="Test">
<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>
我不确定是否需要。据我所知,bean试图加载你的类,所以我假设,它不是。
希望有所帮助 - 迈克尔
答案 2 :(得分:0)
确保在Java perspective / Package explorer视图中,您的类位于“Code / Java”类别下。再次在Java透视图中,右键单击项目,构建路径/配置构建路径...确保在第一个“源”选项卡中列出源文件夹。
答案 3 :(得分:0)
声明全局变量时不要初始化它们,而必须在构造函数中进行初始化,在异常页面中,根本原因将显示,包括代码行号。