Spring Roo更新密码字段或不更新所有字段

时间:2011-12-08 15:52:54

标签: java spring spring-roo

我的实体Userusernamename等...

User也有password属性。我在列表/节目表单中禁用了它的渲染,但在更新表单中,字段设置为type="password"

让我感到不安的是,如果没有重新输入密码,则无法更新用户,因为没有星标,如果您没有输入密码,password设置为null或{ {1}}。

我该如何绕过它?

还有另一个问题。如果我从更新表单中删除某些字段,则所有其他字段都将设置为""。 我想要的是让用户能够更新某些权利的某些领域,而不是所有领域。

1 个答案:

答案 0 :(得分:1)

我创建了一个实体 Foo ,其中包含四个字段 f1,f2,f3 f4

在此实体的 update.jspx 中,我为字段 f1 设置了属性 render =" false"

FooController 更新方法中,在 foo 参数对象更新之前,我从数据库中获取旧值并将其粘贴在参数 foo < / strong>,如下所示,因为我们不希望最终用户更新此字段。

    Foo fromDB=Foo.findFoo(foo.getId());
    foo.setF1(fromDB.getF1());
    foo.merge();

我可以验证更新操作完成后Foo实体中 f1 的旧值没有改变。

这可能是阻止用户更新实体对象中某些字段的一种方法,并希望这种方法适合您。

干杯,