【发布时间】:2011-05-30 19:11:17
【问题描述】:
嗨,
我想知道如何在 JSF 中实现 Validator。声明验证器 ID 有什么好处。什么时候会在生命周期中被调用?我已经实现了以下代码。请找出代码中有什么问题。我在生命周期的任何地方都没有看到它被调用。
<?xml version="1.0"?>
<!DOCTYPE faces-config PUBLIC
"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
"http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config>
<lifecycle>
<phase-listener>javabeat.net.jsf.JsfPhaseListener</phase-listener>
</lifecycle>
<validator>
<validator-id>JsfValidator</validator-id>
<validator-class>javabeat.net.jsf.JsfValidator</validator-class>
</validator>
<managed-bean>
<managed-bean-name>jsfBean</managed-bean-name>
<managed-bean-class>javabeat.net.beans.ManagedBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<navigation-rule>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>success.jsp</to-view-id>
</navigation-case>
</navigation-rule>
</faces-config>
public class JsfValidator implements Validator {
public JsfValidator()
{
System.out.println("Inside JsfValidator Constructor");
}
@Override
public void validate(FacesContext facesContext,
UIComponent uiComponent,
Object object)
throws ValidatorException {
System.out.println("Inside Validator");
}
}
【问题讨论】:
标签: jsf