这是一个应用程序,它利用 JavaServer[TM] Faces 技术展示了用于验证(客户端 JavaScript[TM] 验证和服务器端 JavaServer Faces 验证)的多个解决方案。
客户端验证
index.jsp
文件还包含用于验证颜色字段内容的 JavaScript。如果客户端浏览器不支持 JavaScript 或关闭了 JavaScript,则无法执行客户端验证。如果验证失败,则浏览器不会将表单传送至 Web 应用程序,这样便可减少耗时和耗资源的双向操作。应当始终将应用程序设计为执行服务器端验证,无论是否已执行客户端验证。
index.jsp
文件,另一个是 response.jsp
文件。index.jsp
页在一个页面中包含了所有的 JavaServer Faces 代码示例。如果页面中的数据有效,则会将请求转发到 response.jsp
页;如果验证失败,则会返回到 index.jsp
页,此时该页将显示错误消息。index.jsp
页中的 JavaServer Faces 代码使用方法绑定表达式来调用 ValidatorBean 上的 validate 方法:
<h:inputText id="smallNumber" value="#{ValidatorBean.smallNumber}"
validator="{JSFValidator.validate}"/>
处理 JavaServer Faces 页时,则会调用以下来自 ValidatorBean 的代码。
public void validate(FacesContext context,
UIComponent component,
Object value) throws ValidatorException {
if ((context == null) || (component == null)) {
throw new NullPointerException();
}
if (value != null) {
if (((String)value).equals("blueprints")) {
throw new ValidatorException(new FacesMessage("blueprints is invalid"));
}
}
}