这不是Spring的编程问题,而是建议请求。
我在JSP上有一个表单,要求用户输入他们的ID号。
页面上的表单调用控制器中的方法。从控制器调用验证器。
如果用户输入非数字值,我相信我可以使用以下方式检查:
typeMismatch.java.lang.Integer =您已在期望数字的字段中输入非数字值...
但我的问题涉及检查数据库中用户的ID,即如果ID不存在,则应拒绝输入。
那么,服务可以在验证器类中使用吗?对此有任何考虑吗?
答案 0 :(得分:2)
在演示应用程序中,您可以做一些看起来更简单的事情。但是你也问过,我要考虑从服务方法调用验证bean。
恕我直言,主要问题是您将在服务层中输入两次进行验证,一次进行实际处理。这是交易通常被管理的地方。因此,您最终可能会在同一个请求中打开2个不同的事务,而不是只有一个。如果您的应用程序或数据库负载很重,则应考虑这一点。
当然,如果您在整个请求期间有一个事务,例如使用Open Session In View模式,那么这不再是一个问题。
答案 1 :(得分:1)
这取决于您是否将此验证规则视为业务逻辑的一部分。我可以看到以下选项: