gpt4 book ai didi

java - Spring MVC 将模型作为 dto 传递给表单?

转载 作者:行者123 更新时间:2023-12-02 12:55:20 25 4
gpt4 key购买 nike

我对将实体模型传递给 Controller ​​然后在 View 上形成表单有疑问,用户可以在其中填充必要的数据。

所以现在就是这样:

Controller

User user = new UserModel();
model.add("user", user);

查看

Form thing to populate values 

问题是:出于安全目的,我不想传递实体本身,而是传递 DTO。因为 DTO 在没有 setter 的情况下必须是不可变的,那么我将如何在 View 上设置这些必填字段?我需要制作类似 POJO 的东西来传递数据?然后在填充数据后,用汇编器将POJO转换为实体并将其保存在我的数据库中?或者还有其他方法可以做到这一点?

编辑。我在 View 端使用 Thymeleaf。

最佳答案

您需要创建一个 Form 对象,它是一个带有 setter 和 getter 的简单 pojo,用于捕获 Form 数据。要强制执行诸如 @NotNull 之类的验证规则,请查看 javax.validation.constraints。您应该有一个 @Service 组件,该组件必须是 @Controller 中的 @Autowired,才能将表单数据填充到一个或多个 @实体并调用@Repository组件(该组件必须是@Service中的@Autowired)来进行数据库操作。

关于java - Spring MVC 将模型作为 dto 传递给表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44443430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com