Java Server Faces:仅在业务逻辑层中进行验证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Server Faces:仅在业务逻辑层中进行验证相关的知识,希望对你有一定的参考价值。

我有一个Java Server Faces Web应用程序,我不确定如何处理验证。

在我看来,验证应该在业务逻辑层中完成。业务逻辑层在Web表示(jsf)和REST-API中使用。

目前我正在使用提供的验证器在jsf层内进行验证。我认为在大多数情况下只会重复代码。有没有办法避免这种代码重复? java服务器面孔是否能够使用我在业务逻辑层中抛出的验证异常?

答案

Bean验证就是针对这种情况而发明的。

您使用约束来注​​释您的实体,这些约束将受到您的业务逻辑(通过EJB,CDI和/或JPA)以及JSF的支持。

对于少量的验证,您无法通过Bean验证表达,但真正与业务相关;是的,抛出异常,在你的支持bean中捕获它并设置相应的Faces消息(提示:使用OmniFaces' Messages使这更容易)。同样,对于您无法使用Bean验证表达的少量验证以及强烈面向视图的验证;使用JSF本机验证器。

以上是关于Java Server Faces:仅在业务逻辑层中进行验证的主要内容,如果未能解决你的问题,请参考以下文章

Java工程为什么要加一个biz层

Java Spring Boot如何实现业务逻辑层和资源库层?

Java Web 开发时的 MVC 模型和软件的3层架构(表现层,业务逻辑层,数据访问层)都有哪些区别和联系?

Java Server Faces - 如何更新网页上显示列表的值[重复]

Java Server Faces JSF - 谁负责自动生成的 id?

关于java中B/S架构