编程语言
首页 > 编程语言> > java – Spring Roo更新密码字段或不更新所有字段

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

作者:互联网

我有一个实体用户,有用户名,姓名等…

用户还有一个密码属性.我在列表/显示表单中禁用了它的渲染,但在更新表单中,字段设置为type =“password”.

我不知道的是,如果没有重新输入密码就无法更新用户,因为没有明星,如果你没有输入密码,密码设置为null或“”.

我怎么能绕过那个?

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

解决方法:

我用四个字段f1,f2,f3和f4创建了一个实体Foo.

在这个实体的update.jspx中,我为字段f1设置了属性render =“false”.

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

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

我能够验证更新操作完成后Foo实体中f1的旧值没有得到更改.

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

干杯,

标签:java,spring,spring-roo
来源: https://codeday.me/bug/20190709/1417357.html