我正在尝试创建一个表单,以便用户在我的网络应用程序中更改其自己的私有(private)数据(地址、年龄...):
View :
public class UserDetailsView { private Long userId; private String name; ... }
在表单页面的
@GetMapping
中,我将所有用户数据加载到表单 View ,然后将加载的 View 发送到Thymeleaf并创建最终的HTML,所有这个过程都运行良好。我的问题是:
出于显而易见的原因,表单没有 userId
变量的字段,并且我不想为 ID 创建隐藏字段,以避免恶意用户可以轻松更改 userId
字段。
- 我的问题是:
如何在服务器端保留相同的UserDetailsView
实例来保留userId
变量内容,只需更改表单中与字段相关的变量?实际上,我的解决方案是在数据库中搜索登录用户以获取其 ID,然后更新 UserDetails 表。
最佳答案
如果用户只能更改与自己相关的数据,只需将 userId(以及可能在应用程序中可能需要的其他用户详细信息)保留在 session 中即可。
关于java - 如何在 Spring 中创建数据更改表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42250256/