我使用hibernate
和注释映射了我的对象。我可以单独查询和创建它们。但是当我需要从一个复合类型的表单中填充一个,即它包含另一个实体的外键时,我不知道如何填充它所代表的对象属性。所以像这样:
<s:textfield name="page.book" label="book"/>
应转换为bean Book
的属性Page
,后者又转换为表页中的外键book_id。我不确定如何将我的表单bean字段映射到复合类型,例如Book
。我一直在NullPointerException
的服务器端。
有人可以概述你如何填充一个不是简单类型的bean属性吗?
答案 0 :(得分:1)
您需要为bean Book
中的Page
对象的每个属性创建一个输入。
public class Book {
private int bookId;
private String bookTitle;
// and so on...
// getters and setters *important*
}
public class Page {
private Book book;
// and so on...
// getters and setters *important*
}
你需要两个:
<s:textfield name="page.book.bookId" label="bookId"/>
和
<s:textfield name="page.book.bookTitle" label="bookTitle"/>
以及Book
可能有的任何其他属性。