我正在使用 Struts2,Hibernate 3.5。我有复杂的对象图。因此,每次以编辑模式提交数据时,我都需要确保请求中所有对象节点的 id 都可用。因此,每次在 UI 上显示对象时,我都会将所有 id 作为隐藏文件保存在 jsp 中。这是管理数据编辑的正确方法吗?
问问题
119 次
2 回答
0
您可以创建一个 bean 类并使用 jsp 表单注册它。这个 bean 类将具有 jsp 具有的所有字段。每当您的 jsp 将被修改时,这个 bean 类会自动更新自身。因此,您不必在隐藏字段中维护值。
于 2012-05-29T05:48:31.467 回答
0
您的 bean 类将扩展 ActionForm 公共类 HolidayBookingForm 扩展 ActionForm {
private String entryId;
private String title;
private String startDate;
private String days;
//getters and setters omitted
public void readFrom(HolidayBooking booking)
{
if (booking != null)
{
if (booking.getEntryId() != 0)
this.entryId = String.valueOf(booking.getEntryId());
if (booking.getEntryId() != 0)
this.days = String.valueOf(booking.getDays());
if (booking.getStartDate() != null)
this.startDate = new java.sql.Date(booking.getStartDate().getTime()).toString();
this.title = booking.getTitle();
}
}
public void writeTo(HolidayBooking booking)
{
if (booking == null)
throw new IllegalArgumentException("Booking cannot be null");
if (this.days != null)
booking.setDays(Integer.parseInt(this.days));
if (this.entryId != null)
booking.setEntryId(Long.parseLong(this.entryId));
// don't accept empty Strings
if (this.title != null && this.title.trim().length() > 0)
booking.setTitle(title);
// assume validation has been handled
if (this.startDate != null && this.startDate.trim().length() > 0)
booking.setStartDate(java.sql.Date.valueOf(startDate));
}
}
于 2012-05-29T08:22:43.567 回答