java - Oracle ADF : How to populate DepartmentId value from managed backing or managed beans

标签 java jsf oracle-adf jdeveloper

我有一个名为addPage.jsf 的页面,我将departmentsView1 数据控件作为表单拖放到其中。我正在使用 hr 模式的部门表。在createInsert操作之后,我将看到部门表中除departmentId之外的空字段的页面。我需要从支持 bean 或托管 bean 填充部门 ID。像下面这样

enter image description here

我尝试了以下方法。在此页面的支持 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/

相关文章:

java - 如何更快地插入记录

java - 剖析 Java char[] 和字符串

java - 使用 BC4J 在 Java 端处理 RAISE_APPLICATION_ERROR

未从 LinkedList 中删除 Java 项目

java - springboot + eureka + log4j2 空日志文件

jsf - 渲染 JSF h :message with p element instead of span

java - 在 Jboss 5.0 上启动 JSF 应用程序时出错

jsf - 如何在复合组件内缓存数据?

java - 如何覆盖现有的 java 库或指定要使用的确切版本

java - 如何使用单个数据库表在 adf 中创建树结构?