【发布时间】:2012-08-08 22:43:00
【问题描述】:
我正在尝试从 XPage 调用一些 java 代码,并试图通过 SSJS 执行此操作。只是试图让一个基本的 hello world 示例工作。理想情况下,Java 代码的返回值可以填充到变量中。
目标:(Xpage 内容)
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:label value="#{javascript:helloWorld.anyoneThere}" id="label1"></xp:label>
</xp:view>
会打印“哟!”页面加载时。相反,我得到一个运行时错误,找不到 helloWorld。
创建了一个包
package testBean;
public class helloWorld {
public String anyoneThere(){
return "Yo!";
}
}
然后我修改了 faces-config 文件
<?xml version="1.0" encoding="UTF-8"?>
<faces-config>
<managed-bean>
<managed-bean-name>helloWorld</managed-bean-name>
<managed-bean-class>testBean</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
</faces-config>
不确定我需要做什么来初始化/调用 java 函数。我见过的一些例子是挂钩视图或事件,但我正在做的事情的预期代码更有可能在 beforePageLoad 部分中运行。
【问题讨论】:
-
两个答案都有使您的示例正常工作的指针。我想建议也遵循标准的 Java 命名标准,并以大写字母开头你的类名,例如你好世界。此外,使您的类可序列化(“公共类 HelloWorld 实现可序列化”),这是 bean 的要求。
标签: xpages xpages-ssjs