我有一个名为addPage.jsf 的页面,我将departmentsView1 数据控件作为表单拖放到其中。我正在使用 hr 模式的部门表。在createInsert操作之后,我将看到部门表中除departmentId之外的空字段的页面。我需要从支持 bean 或托管 bean 填充部门 ID。像下面这样
我尝试了以下方法。在此页面的支持 bean 中,我有一个 int 类型的字段 idVal 以及为此的 setter 和 getter。 field 。在 DepartmentId 的属性检查器中,我粘贴了 #{backingBeanScope.backing_addPage.idVal}。但是当我按下提交记录时,记录没有插入到数据库中并显示一些错误。
错误 AppModule.DepartmentsView1 中的属性 DepartmentId 是必需的。
如有错误之处请指正。
我的要求是我有从 View 对象创建的表单,并且我需要从支持 bean 或托管 bean 填充 id 值,以便用户无需输入 id 值。
最佳答案
推荐的方法是从 DepartmentVORowImpl.create(AttributeList) 方法填充部门 ID,如下所示:
@Override
protected void create(AttributeList attributeList) {
super.create(attributeList);
this.setDepartmentId(....);
}
如果您使用数据库序列(Oracle db)来生成部门 ID 值,您可以使用以下代码:
@Override
public void create(AttributeList attributeList) {
super.create(attributeList);
SequenceImpl seq = new SequenceImpl("LOG_SEQ", getDBTransaction());
Number seqNextval = seq.getSequenceNumber();
setDepartmentId(seqNextval);
}
关于java - Oracle ADF : How to populate DepartmentId value from managed backing or managed beans,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29425239/