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