当前位置: 首页 > 知识库问答 >
问题:

在JSF2 - Primefaces应用程序中使用bean验证(JSR 303)

白学
2023-03-14

我正在尝试使用hibernate validator将bean验证集成到我的web应用程序中:< br >-Hibernate-spring-JSF 2-primefaces 3 on Tomcat 7 < br >我在Netbeans的类路径中添加了以下jar文件:hibernate-validator.jar和validation-api.jar。

在pojo类中,我为Size添加了注释:

@Size(min=4, message="Min 4 chars!")
private String name;

在.xhtml页面中,我写道:

<p:inputText title="name" id="name" value="#{myBean.user.name}"></p:inputText>
<p:message for="name" />

运行我的应用程序并在名称字段中键入少于4个字符后,我没有看到任何消息,处理继续进行并将数据保存到数据库。在日志输出中,我看到:

14 juin 2012 14:55:03 org.apache.myfaces.view.facelets.tag.jsf.ComponentTagHandlerDelegate shouldAddEnclosingValidator
ATTENTION: Bean validation is not available on the classpath, thus the BeanValidator will not be added for the component org.primefaces.component.inputtext.InputText@1f3fd22
14 juin 2012 14:55:04 javax.faces.component._ExternalSpecifications isBeanValidationAvailable
INFO: MyFaces Bean Validation support disabled

我想知道是否有我必须设置的配置,或者我必须添加的jar文件。

共有2个答案

商飞尘
2023-03-14

这个问题以前已经回答过了。

如果要使用 Bean 验证,则需要一个 Java EE 容器。Tomcat 只是一个 servlet 容器,因此你需要额外的库。

没有让JSR303注释与Tomcat 7一起工作

薛元忠
2023-03-14

解决了,
我不得不添加所需的jar文件:jboss-logging-3.1.0.CR2.jar从hibernate-validator zip文件到lib目录。
我认为log4j足以记录,但我错了。

 类似资料:
  • 我有一个JSF2/PrimeFaces/JBoss应用程序,它必须时不时地运行一些长期进程。规范说,一旦过程开始,它的进展必须被监视,显示它的中间阶段的发生。 步骤的总数在开始时被检索,进度条必须显示流程的演变和剩余时间的估计,基于在流程执行期间计算的统计数据。这并不是仅仅显示出某些事情正在发生,而是实际显示出这个过程还有多少事情要做。 即使用户关闭了页面,进程也必须继续,如果用户返回到页面,它必

  • 我使用Spring 3.2.2与Primeface 4.0和Hibernate 4.2。我在我的实体上有JSR303验证注释,并且我配置了Spring来在服务层验证它们——这很好。 但是我希望在调用服务之前启动JSF验证,但事实并非如此。我所做的所有研究都表明,我只需在类路径中添加一个验证程序,JSF2就会自动应用。 我已将建议的JAR添加到我的类路径中: 完整的依赖关系树可以在https://g

  • 我想将排序添加到PrimeFaces 3.3数据表并创建了以下ViewScoped bean,它存储列表,因此不会一直从EJB中获取: 这是使用bean的视图: 问题是,我可以单击列标题进行排序,但表仍然未排序,即使初始排序不起作用。当您在getList()方法中设置断点时,我可以看到在处理请求期间多次从EJB中提取列表。只要视图在ViewScope中处于活动状态,不应该存储bean吗?

  • 问题内容: 我想在我的Java应用程序中使用Windows NTLM认证来透明地认证Intranet用户。如果使用浏览器(单点登录),用户将不会注意到任何身份验证。 我发现了一些具有NTLM支持的库,但是不知道要使用哪个库: http://spnego.sourceforge.net/ http://sourceforge.net/projects/ntlmv2auth/ http://jcifs

  • 我正在使用Primefaces客户机bean验证,但它不起作用,错误消息消失,即使验证失败也会调用Listener。 示例-xhtml- 我正在使用-Primefaces 4 Jsf 2.2.6(mojarra)tomcat 7 请帮帮我。谢了。

  • 我有一个JSF2应用程序,但我无法对JSF ManagedBean属性进行@email验证。 这是我的堆栈: GlassFish 3.1.1 Mojarra 2.2.9/JSF 2.2 null 我的代码: 托管bean: 备注: null 谢谢你。