我有一个域对象,我在一个典型的表单上呈现。这是一个简化的例子:
public class Name implements Keyed {
private String firstName;
private String middleName;
private String lastName;
private Number key;
//Getters and Setters
}
假设我有两种类型的用户,每个用户都可以修改这些Name对象。出于某种愚蠢的原因,不允许一个组查看/编辑用户的中间名。所以我将该字段从表单中删除(也没有隐藏字段)。
反正是否要让Spring清除那个中间名字段?我可以为此创建一个新对象,但它似乎不需要重复。
是否有办法保留尚未修改的数据(即未向用户显示,因此无法更改)?
答案 0 :(得分:0)
您可以在会话中存储中间名(对于只读用户)并在表单提交时检索它。
答案 1 :(得分:0)
似乎用弹簧绑定这根本不可能。您基本上被迫创建域对象的近似副本,并删除不在页面本身上显示的字段。虽然不幸,但它只是弹簧绑定的工作原理,因为在调用方法之前,spring会为你创建一个新实例。