我喜欢将托管 Java bean 与 xpages 一起使用,但仍有一种情况,我还无法解决。我有一个应用程序,它显示了数据库的一些条目,并允许使用就地表单对其进行编辑。
每个表单都绑定到后端文档。我还想使用一个能够将字段绑定到 bean 中的值的 java bean。我知道,我可以用列表和哈希图做一些事情,但那不一样。或者是否有可能处理一个类中的对象列表?有人有想法,如何处理?
我喜欢将托管 Java bean 与 xpages 一起使用,但仍有一种情况,我还无法解决。我有一个应用程序,它显示了数据库的一些条目,并允许使用就地表单对其进行编辑。
每个表单都绑定到后端文档。我还想使用一个能够将字段绑定到 bean 中的值的 java bean。我知道,我可以用列表和哈希图做一些事情,但那不一样。或者是否有可能处理一个类中的对象列表?有人有想法,如何处理?
首先创建一个简单的Person.java
POJO。像这样的东西:
public Person {
String firstName;
public getFirstName() {
return firstName;
}
public setFirstName(String to) {
this.firstName = to;
}
//etcetera...
}
确保您要编辑的每个属性都有一个 getter 和 setter。
您现在有 2 个选项:
List<Person>
,当您编辑一个时,您可以直接从该列表中编辑对象。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);