我有关于将我的实体模型传递给控制器以及之后在视图上形成的问题,用户可以在其中填充必要的数据。
现在就是这样:
控制器
User user = new UserModel();
model.add("user", user);
查看
Form thing to populate values
问题是: 我想不是为了安全目的而通过实体本身而是DTO。 因为DTO在没有setter的情况下必须是Immutable,那么我将如何在视图上设置这些必填字段? 我需要像POJO那样只传递数据吗?然后在数据填充之后,将POJO转换为带汇编程序的实体并将其保存在我的数据库中? 或者还有其他方法可以做到这一点?
编辑。我在观看方面使用了Thymeleaf。
答案 0 :(得分:1)
您需要创建一个Form对象,这是一个带有setter和getter的简单pojo来捕获Form数据。要强制执行@NotNull
等验证规则,请查看javax.validation.constraints
。您应该在@Service
中设置一个@Autowired
组件@Controller
,以便将表单数据填充到一个或多个@Entity
并调用@Repository
组件,对于数据库操作,必须在@Autowired
中为@Service
。