0

我有两张表:Dish 和 Ingredient(一对一的关系)。每个表中都有类似的字段last_modified_bycreation_time用户不需要更新。

在控制器中,我将对象发送到 jsp 页面,效果很好。

uiModel.addAttribute("dish", dish);

在 jsp 页面端,我使用 jsp 表单标签,将 modelAttribute 设置为dish. 我只允许用户修改一些有用的信息,比如dishName. 我的问题来了:如何只修改dish模型中的一些属性,然后将其发送回控制器?

4

2 回答 2

0

首选方法是创建一个 dto,仅表示应可访问的字段,然后将其发送到表单或从表单发送。

public DishDto {
  public getName(){};
  public setName(){};
  private String name;
}

此策略还允许您在一个 dto/form 中混合两个不同的实体/表。

于 2013-09-11T08:15:45.323 回答
0

我发现它可能是 Spring 3.2.x 的一个错误,否则它就是这样设计的。

在控制器上添加注释@sessionAttribute是处理这种情况的优雅方式。

于 2013-09-12T02:23:21.083 回答