|
3
|
| Boden · 技术社区 · 16 年前 |
|
|
1
3
实际上,在添加和更新时都应该禁用“id”字段。否则,恶意用户可能篡改更新请求的“id”请求参数的值,从而将不同的记录更新到表单所示的记录(假设没有acl或其他域级安全性)。 但是,如果您只是不允许“id”字段,那么控制器会将id视为空,这在插入时有效,但在更新时无效(例如,它可能会尝试插入新记录而不是更新,这取决于您使用的持久性机制)。因此,您希望控制器记住请求之间域对象的不可编辑值(不仅仅是id,而是所有不允许的字段),以便它可以将所有正确的值发送到服务层或其他业务逻辑。这是使用type level@sessionattributes注释完成的,如下所示(为清楚起见省略了其他注释):
为了更好的安全性,请设置允许的字段,而不是不允许的字段。无论哪种方式,您都需要@sessionattributes注释来填充请求中忽略的任何现有字段值。 |
|
|
2
2
方法签名到
所以也许你可以
(如果这没有帮助,也许我没有正确理解问题…) |
|
|
3
1
使用单个控制器的方法是在命令对象上有一个布尔值,指示它是否是新对象。在onsubmit中,我可以检查布尔值,看看是否需要执行添加或更新操作。 |
|
|
user29759326 · 如何返回递归函数中的最后一个值? 8 月前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 8 月前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 8 月前 |
|
|
rudraraj · java中未声明最终变量 8 月前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 8 月前 |