在xPages中使用bean不起作用
我有一个简单的应用程序,有一个类和一个xPage,还有一个computedField,绑定到那个类。我想将getter类的结果显示为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
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中