1

我喜欢将托管 Java bean 与 xpages 一起使用,但仍有一种情况,我还无法解决。我有一个应用程序,它显示了数据库的一些条目,并允许使用就地表单对其进行编辑。

在此处输入图像描述

每个表单都绑定到后端文档。我还想使用一个能够将字段绑定到 bean 中的值的 java bean。我知道,我可以用列表和哈希图做一些事情,但那不一样。或者是否有可能处理一个类中的对象列表?有人有想法,如何处理?

4

1 回答 1

4

首先创建一个简单的Person.javaPOJO。像这样的东西:

public Person {
    String firstName;
   
    public getFirstName() {
      return firstName;
    }

    public setFirstName(String to) {
      this.firstName = to;
    }

    //etcetera...
}  

确保您要编辑的每个属性都有一个 getter 和 setter。

您现在有 2 个选项:

  • 人员列表是一个List<Person>,当您编辑一个时,您可以直接从该列表中编辑对象。
  • 当用户想要编辑一个条目时,您将(例如)文档的注释 ID 从列表传递到就地表单,获取文档,构造一个Person对象并将其用作表单中的绑定。

假设 的实例Person被调用person,您可以将它们绑定到输入,例如:

<xp:inputText value="#{person.firstName} />

对于就地表单中的保存操作,我将创建一个PersonRepo带有静态保存函数的单独类,该函数使用当前Person对象并将其保存到数据库中:

public class PersonRepo {

  public static void savePerson( Person person ) {
    Database db = ExtLibUtil.getCurrentDatabase();
    Document doc = db.createDocument();
    doc.replaceItemValue("firstName" , firstName);
    doc.save();        
  }

}

然后,您可以从保存按钮调用它:

PersonRepo.savePerson(person);

于 2021-11-12T11:45:28.253 回答