首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XPages - SSJS调用bean

XPages - SSJS调用bean
EN

Stack Overflow用户
提问于 2012-08-09 06:43:01
回答 2查看 1.8K关注 0票数 0

我正在尝试从XPage调用一些java代码,并试图通过SSJS完成此操作。只是尝试让一个基本的hello world示例正常工作。理想情况下,java代码的返回值可以填充到一个变量中。

目标:(Xpage内容)

代码语言:javascript
复制
<?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。

创建了一个包

代码语言:javascript
复制
package testBean;

public class helloWorld {
    public String anyoneThere(){
        return "Yo!";
    }
}

然后我修改了faces-config文件

代码语言:javascript
复制
<?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部分中运行。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-09 07:25:47

您的托管bean类也包含类名。

代码语言:javascript
复制
<managed-bean-class>testBean.helloWorld</managed-bean-class>

此外,您的标签必须有括号

代码语言:javascript
复制
<xp:label value="#{javascript:helloWorld.anyoneThere();}" id="label1"></xp:label>
票数 6
EN

Stack Overflow用户

发布于 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 ):

代码语言:javascript
复制
<xp:label value="#{helloWorld.anyoneThere}" id="label1"></xp:label>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11874286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档