Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp spring mvc更新操作_Jsp_Spring Mvc - Fatal编程技术网

Jsp spring mvc更新操作

Jsp spring mvc更新操作,jsp,spring-mvc,Jsp,Spring Mvc,我有两张桌子:菜和配料(一对一的关系)。在每个表中都有一些字段,如用户不需要更新的last\u modified\u by,creation\u time 在控制器中,我通过将对象发送到jsp页面,这很好 uiModel.addAttribute("dish", dish); 在jsp页面一侧,我使用jsp表单标记,将modelAttribute设置为dish。我只允许用户修改一些有用的信息,如dishName。我的问题来了: 如何在模型中只修改dish的某些属性,然后将其发送回控制器?首选方

我有两张桌子:菜和配料(一对一的关系)。在每个表中都有一些字段,如用户不需要更新的
last\u modified\u by
creation\u time

在控制器中,我通过将对象发送到jsp页面,这很好

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

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

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

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

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

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