我正在尝试学习JSF做一个演示项目。当我尝试将验证器添加到某些组件时,我得到java.lang.ClassNotFoundException:com.test.validator.TestValidator
我的faces-config看起来像这样
<validator>
<validator-id>Validator</validator-id>
<validator-class>com.test.validator.TestValidator</validator-class>
</validator>
验证员类
public class TestValidator implements Validator {
@Override
public void validate(FacesContext context, UIComponent componentToValidate,
Object value) throws ValidatorException {
//Add code
}
}
最后是小册子
<f:validator validatorId="Validator"></f:validator>
我不确定我是否遗漏了什么。所有帮助表示赞赏。感谢
答案 0 :(得分:3)
我可以想到许多可能的原因:
TestValidator类缺少package
声明,因此您实际上已在默认包中声明它......如@Jigar Joshi所述。
您尚未编译。
您尚未创建/更新包含该类的JAR。
您尚未将JAR包含在WAR / EAR中。
WAR / EAR(或Web服务器)缺少包含TestValidator所依赖的某个类的JAR文件。 (似乎不太可能......)
您尚未重新部署WAR / EAR。