在xPages中使用bean不起作用

在xPages中使用bean不起作用,xpages,xpages-ssjs,Xpages,Xpages Ssjs,我有一个简单的应用程序,有一个类和一个xPage,还有一个computedField,绑定到那个类。我想将getter类的结果显示为bean。不起作用。 我的班级是这样的: package test.test; public class Test { public Test() { } public String getTest() { return "Test"; } } Error while executing JavaScript c

我有一个简单的应用程序,有一个类和一个xPage,还有一个computedField,绑定到那个类。我想将getter类的结果显示为bean。不起作用。 我的班级是这样的:

package test.test;

public class Test {
    public Test() {
    }

    public String getTest() {
        return "Test";
    }
}
Error while executing JavaScript computed expression
Script interpreter error, line=1, col=17: 'test' is undefined

1: var test = new test.test.Test();
var testObj:test.test.Test = new test.test.Test();
computedField中的SSJS:

var test = new test.test.Test();
return test.getTest();
错误如下所示:

package test.test;

public class Test {
    public Test() {
    }

    public String getTest() {
        return "Test";
    }
}
Error while executing JavaScript computed expression
Script interpreter error, line=1, col=17: 'test' is undefined

1: var test = new test.test.Test();
var testObj:test.test.Test = new test.test.Test();
我是否缺少任何设置或什么? 提前谢谢你,JiKra

编辑:如果我使用托管bean,问题是完全相同的。我的Designer/EclipseIDE肯定有问题。我明天再重新安装


EDIT2:今天,我试着在我大学的电脑上做同样的事情,结果还是一样的错误。所以,问题不在于我的IDE。我一定错过了什么。我需要在服务器或IDE中安装任何外部库吗?

在SSJS中初始化Java类时,代码应如下所示:

package test.test;

public class Test {
    public Test() {
    }

    public String getTest() {
        return "Test";
    }
}
Error while executing JavaScript computed expression
Script interpreter error, line=1, col=17: 'test' is undefined

1: var test = new test.test.Test();
var testObj:test.test.Test = new test.test.Test();

在SSJS中初始化Java类时,代码应如下所示:

package test.test;

public class Test {
    public Test() {
    }

    public String getTest() {
        return "Test";
    }
}
Error while executing JavaScript computed expression
Script interpreter error, line=1, col=17: 'test' is undefined

1: var test = new test.test.Test();
var testObj:test.test.Test = new test.test.Test();

你忘了放新的声明

var test = new test.test.Test();

你忘了放新的声明

var test = new test.test.Test();

SSJS测试中的变量名与包名冲突。使用

var test1=new test.test.Test();

它将工作…

SSJS测试中的变量名与包名冲突。使用

var test1=new test.test.Test();

它将工作…

可能是构建问题。确保你

1构建代码,尝试清理和构建

2具有正确的生成路径-您可以在“首选项”对话框中找到它


3可以找到Test.class文件,最好是在Java透视图的Navigator视图中。

可能是构建问题。确保你

1构建代码,尝试清理和构建

2具有正确的生成路径-您可以在“首选项”对话框中找到它


3可以找到Test.class文件,最好是在Java透视图的Navigator视图中。

不确定这是否是问题所在,但我认为必须在Bean中定义String类型的变量测试,以便使用getTest检索它的值

不确定这是否是问题所在,但我认为必须在Bean中定义String类型的变量测试,以便使用getTest检索它的值

确保在更改包名后构建Java和XPage。例如,将printnew XPage添加到SSJS,将System.out.PrintLNew Java添加到Java

我可以用你的代码和8.5.3FP3 Designer+服务器重现这个问题。当我将包名更改为test.tes时,问题就消失了

编辑:我一直使用变量名t,如果我将变量名更改为test,我可以确认问题也会出现,正如Simon在下面发现的那样。可能Simon有不同的Desiger/Domino版本,因为test.test.test不适用于变量名为t的我


EDIT2:听起来您正在使用8.5.3设计器和8.5.2服务器。正如Simon所说,Code/Java是在8.5.3中引入的。可以在这里找到编写Java for 8.5.2的说明,例如:

确保在更改包名后构建Java和XPage。例如,将printnew XPage添加到SSJS,将System.out.PrintLNew Java添加到Java

我可以用你的代码和8.5.3FP3 Designer+服务器重现这个问题。当我将包名更改为test.tes时,问题就消失了

编辑:我一直使用变量名t,如果我将变量名更改为test,我可以确认问题也会出现,正如Simon在下面发现的那样。可能Simon有不同的Desiger/Domino版本,因为test.test.test不适用于变量名为t的我


EDIT2:听起来您正在使用8.5.3设计器和8.5.2服务器。正如Simon所说,Code/Java是在8.5.3中引入的。编写Java for 8.5.2的说明可以在这里找到,例如:

好的,我做了以下操作

我创建了一个新的Java类

2将以下代码放入类中

package test.test;

public class Test implements java.io.Serializable {

    public Test() {
        super();
    }

    public String getTest() {
        return "Test";
    }

}
3使用以下源创建了一个XPage:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xe="http://www.ibm.com/xsp/coreex">
    <xp:text escape="true" id="computedField1">
        <xp:this.value><![CDATA[#{javascript:var t:test.test.Test = new     test.test.Test();

return t.getTest();
}]]></xp:this.value>
    </xp:text>
</xp:view>
在浏览器中打开它,出现单词Test

将变量t更改为test,然后失败。因此,变量名似乎是个问题

[编辑]


根据您对使用8.5.2的评论,代码/Java功能直到Notes/Domino8.5.3才出现。这就是为什么它不适用于您。

好的,我做了以下操作

我创建了一个新的Java类

2将以下代码放入类中

package test.test;

public class Test implements java.io.Serializable {

    public Test() {
        super();
    }

    public String getTest() {
        return "Test";
    }

}
3使用以下源创建了一个XPage:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xe="http://www.ibm.com/xsp/coreex">
    <xp:text escape="true" id="computedField1">
        <xp:this.value><![CDATA[#{javascript:var t:test.test.Test = new     test.test.Test();

return t.getTest();
}]]></xp:this.value>
    </xp:text>
</xp:view>
在浏览器中打开它,出现单词Test

将变量t更改为test,然后失败。因此,变量名似乎是个问题

[编辑]


根据您对使用8.5.2的评论,代码/Java功能直到Notes/Domino8.5.3才出现。这就是为什么它对你不起作用。

不,我没有。我忘了你把它放在这里了。我的错误。即使有了新的声明,它也不起作用。相同的错误…完成:-还有更多。见编辑2。不,我没有。我忘了你把它放在这里了。我的错误。即使有了新的声明,它也不起作用。相同的错误…完成:-还有更多。参见Edit2。这只是为了简单起见。我用不同的包装试了三次

和类名。还是相同的错误。您的java类存储在哪里?Lib/extjar,java元素?它只是Code/java中的一个包和类。只是为了简单起见。我用不同的包和类名尝试了三次。还是相同的错误。您的java类存储在哪里?Lib/extjar,java元素?它只是Code/java中的一个包和类。对不起,它根本不起作用。我尝试了不同的名称、不同的应用程序和两台服务器。上次我使用了var test1=newjohny.Money;测试1.getMyMoney;仍然不起作用。也许我的设计师有问题。明天,我将在不同的计算机上尝试另一个。我刚刚用test1尝试了完全相同的代码,结果成功了。你试过清理和重建吗?对不起,它根本不起作用。我尝试了不同的名称、不同的应用程序和两台服务器。上次我使用了var test1=newjohny.Money;测试1.getMyMoney;仍然不起作用。也许我的设计师有问题。明天,我将在不同的计算机上尝试另一个。我刚刚用test1尝试了完全相同的代码,结果成功了。您是否尝试过清理和重建?仅供参考,但是var testObj:test.test.test仅用于SSJS编辑器提前提供类型,即使它不用于自定义类仅供参考,但是var testObj:test.test.test仅用于SSJS编辑器提前提供类型,即使它不用于自定义类否,他不绑定,即使使用bindig也不会有问题,他只是在新实例上调用getTest。不,他不绑定,即使使用bindig也不会有问题,他只是在新实例上调用getTest。在ND9中复制,所以我将发布它。好的,但这不是我的问题。上次我尝试var myBean=。。。它也失败了。这是在测试失败之前还是之后?您是在服务器上运行还是在客户端上运行?是否尝试重新启动服务器上的客户端或HTTP?此时,我建议将NSF发布到某个地方进行检查,或打开PMR。我在三个不同的服务器、两个不同的Lotus Notes Designer客户端和许多不同的类和变量名上尝试了十次相同的过程。同样的错误-xPage无法运行java bean代码。第一台服务器在linux上是8.5.2FP3,第二台服务器在linux上是8.5.2FP4HF63,第三台服务器在Windows/7/64上是8.5.2。你可以在这里下载我的一个示例应用程序:在ND9中复制,所以我会SPR它。好的,但这不是我的问题。上次我尝试var myBean=。。。它也失败了。这是在测试失败之前还是之后?您是在服务器上运行还是在客户端上运行?是否尝试重新启动服务器上的客户端或HTTP?此时,我建议将NSF发布到某个地方进行检查,或打开PMR。我在三个不同的服务器、两个不同的Lotus Notes Designer客户端和许多不同的类和变量名上尝试了十次相同的过程。同样的错误-xPage无法运行java bean代码。第一台服务器在linux上是8.5.2FP3,第二台服务器在linux上是8.5.2FP4HF63,第三台服务器在Windows/7/64上是8.5.2。您可以在此处下载我的一个示例应用程序:1。我试了很多次。2.Java \构建路径?3.类文件位于WebContent\WEB-INF\classes\test\test\test.class1中。我试了很多次。2.Java \构建路径?3.类文件位于WebContent\WEB-INF\classes\test\test\test.Class中