Dav*_*vid 0 java bean-validation jsf-2 tomcat7
经过几个小时的谷歌和一些教程,我被打败了...事实并非我得到错误可以给我提示问题是什么,完全没有它们让我疯了!
以下代码有效,只是不应该!检查输入不是null或小于3个字符长的注释永远不会运行.在部署项目或写入名称变量时,它们也不会发出任何错误.
public class testBean
{
@NotNull
@Size(min=3)
private String name;
}
public void test()
{
System.out.println(name);
}
Run Code Online (Sandbox Code Playgroud)
输入表格:
<h:form>
<h:inputText value="#{testBean.name}" />
<h:commandButton value="Send" action="#{testBean.test()}" />
</h:form>
Run Code Online (Sandbox Code Playgroud)
我的猜测是,这是导致问题的tomcat,虽然我很确定我已经导入了所有必要的库.对于我正在使用的IDE,Eclipse也是如此.
至于libs,我在"WEB-INF/lib"文件夹和"apache-tomcat-7/lib"文件夹中都包含了"validation-api-1.0.0.GA.jar".
您只安装了API,而不是实现.API是一个抽象合同,因此您可以在代码中声明/使用它,并可以自由选择实现.实现包含具体代码并完成实际工作.您还需要安装impl.JSR-303参考实现是Hibernate Validator.下载详细信息在这里.目前最新的决赛是4.1.0.它包含的hibernate-validator-4.1.0.Final.jar文件是真正的实现.放下它Webapp/WEB-INF/lib.它不一定需要Tomcat7/lib,我也会从那里删除API以防止将来的类路径冲突.
| 归档时间: |
|
| 查看次数: |
4380 次 |
| 最近记录: |