1

我已经使用hibernate和注释映射了我的对象。我可以单独查询和创建它们。但是当我需要从复合类型的表单中填充一个时,即它包含另一个实体的外键时,我不知道如何填充它所代表的对象属性。所以是这样的:

<s:textfield name="page.book" label="book"/>

应该转换为Bookbean的属性,Page而后者又转换为表页中的外键 book_id。我不确定如何将我的表单 bean 字段映射到复合类型,例如Book. 我一直在获取NullPointerException服务器端。

有人可以概述您如何填充不是简单类型的 bean 属性吗?

4

1 回答 1

1

您需要为Bookbean 中对象的每个属性创建一个输入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以及可能具有的任何其他属性。

于 2013-02-05T09:11:15.993 回答