Xpages 可写的XSP对象数据源的示例
我正在XPage中处理对象数据源:Xpages 可写的XSP对象数据源的示例,xpages,xpages-extlib,Xpages,Xpages Extlib,我正在XPage中处理对象数据源: <xp:this.data> <xe:objectData var="demo" ignoreRequestParams="true" readonly="false" scope="view" createObject="#{javascript:return new demo.SampleBean();}"> </xe:objectData> </xp:thi
<xp:this.data>
<xe:objectData var="demo" ignoreRequestParams="true"
readonly="false" scope="view"
createObject="#{javascript:return new demo.SampleBean();}">
</xe:objectData>
</xp:this.data>
课程相当简单:
package demo;
import java.io.Serializable;
public class SampleBean implements Serializable {
private static final long serialVersionUID = 1L;
private String name;
private String job;
public String getName() {
return this.name;
}
public String getJob() {
return this.job;
}
public void setName(final String name) {
this.name = name;
}
public void setJob(final String job) {
this.job = job;
}
public void dummyAction() {
System.out.println("Here shall be logic");
}
}
我试图添加一个public void save()代码>方法,但这不起作用。
因此,我正在寻找一个对象数据源的示例您已经为数据源定义了createObject
属性,但尚未指定saveObject
属性。。。这就是您收到的错误消息(“保存方法尚未实现”)所指的内容
因此,例如,如果希望在触发保存时运行dummyAction()
方法,请尝试以下操作:
<xp:this.data>
<xe:objectData var="demo" ignoreRequestParams="true"
readonly="false" scope="view"
createObject="#{javascript:return new demo.SampleBean();}"
saveObject="#{javascript:return value.dummyAction();}">
</xe:objectData>
</xp:this.data>
当saveObject
属性被指定为SSJS方法绑定时,变量value
被绑定到数据对象,然后调用方法绑定。因此,您可以将value
传递给其他对象以处理保存对象的业务逻辑,也可以使用value.anyMethod()
语法将对象序列化的业务逻辑保留在对象本身内部
注意:无论您在这个方法中使用什么逻辑,您都希望返回一个布尔值(而不是void
),这样false
的返回值可以被视为取消,就像标准的Domino文档数据源一样。您已经为数据源定义了createObject
属性,但您尚未指定saveObject
属性。。。这就是您收到的错误消息(“保存方法尚未实现”)所指的内容
因此,例如,如果希望在触发保存时运行dummyAction()
方法,请尝试以下操作:
<xp:this.data>
<xe:objectData var="demo" ignoreRequestParams="true"
readonly="false" scope="view"
createObject="#{javascript:return new demo.SampleBean();}"
saveObject="#{javascript:return value.dummyAction();}">
</xe:objectData>
</xp:this.data>
当saveObject
属性被指定为SSJS方法绑定时,变量value
被绑定到数据对象,然后调用方法绑定。因此,您可以将value
传递给其他对象以处理保存对象的业务逻辑,也可以使用value.anyMethod()
语法将对象序列化的业务逻辑保留在对象本身内部
注意:无论您在这个方法中使用什么逻辑,您都希望返回一个布尔值(而不是void
),这样false
的返回值可以被视为取消,就像标准的Domino文档数据源一样