我正在尝试从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>会打印“Yo!”当页面加载时。相反,我得到了一个运行时错误,没有找到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部分中运行。
发布于 2012-08-09 07:25:47
您的托管bean类也包含类名。
<managed-bean-class>testBean.helloWorld</managed-bean-class>此外,您的标签必须有括号
<xp:label value="#{javascript:helloWorld.anyoneThere();}" id="label1"></xp:label>发布于 2012-08-09 15:42:56
我已经写了一个small tutorial on the basics of creating and using a simple managed bean with XPages。
本教程还展示了如何将getter和setter添加到变量中,以便您可以使用EL来引用它们。因此,在您的示例中,您将能够执行以下操作来引用anyoneThere变量(假设您已经为其设置了一个getter和setter ):
<xp:label value="#{helloWorld.anyoneThere}" id="label1"></xp:label>https://stackoverflow.com/questions/11874286
复制相似问题