2011-12-08 48 views
4

我有了usernamename等实体User ......Spring Roo的更新密码字段或不更新所有字段

User也有password属性。我禁止以列表/表单形式呈现它,但在更新表单中,字段设置为type="password"

什么错误我是,你不能无需重新输入密码更新用户因为没有明星都在那里,如果不输入密码,password设置为null""

我怎样才能绕过呢?

还有另一个问题。如果我从更新表格中删除了一些字段,则所有其他字段都设置为null。 我想要的是让用户更新一些实体的一些,但不是所有的领域。

+0

你将不得不澄清。 Roo本身可以非常适应。您是否使用Spring MVC(Roo将其称为Web MVC)脚手架? – Pace

回答

1

我创建的实体美孚与四个场F1 ,F2,F3和 F4

update.jspx这个实体,我设置了现场F1属性渲染= “假”

FooController的更新的方法,该参数对象更新之前,我从数据库中取出的旧值,并把它贴在参数,如下图所示,因为我们不希望最终用户更新此字段。

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

我能够确认旧值F1 Foo中的实体完成更新操作后没有得到改变。

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

干杯,