我正在使用 JSF,并且正在构建一个注册网页。我正在尝试使用验证器来检查用户选择的用户名是否已经存在。但我没有找到如何查询数据库来检查用户名。我尝试过 EJB 注入,但它不起作用,我有一个空指针异常。
@FacesValidator("usernameUnicityValidator")
public class UsernameUnicityValidator implements Validator {
    @EJB
    private ArticleFacadeLocal articleFacade;
    @Override
    public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {
        if (value==null) {
            FacesMessage message = new FacesMessage("The username cannot be empty");
            message.setSeverity(FacesMessage.SEVERITY_FATAL);
            throw new ValidatorException(message);
        }
        if (userFacade.findByUsername((String)value)) {
            FacesMessage message = new FacesMessage("Username already exist");
            throw new ValidatorException(message);
       }
    }
}