📄 regexvalidatortag.java
字号:
package com.corejsf;import javax.faces.application.Application;import javax.faces.context.FacesContext;import javax.faces.validator.Validator;import javax.faces.webapp.UIComponentTag;import javax.faces.webapp.ValidatorTag;import javax.servlet.jsp.JspException;public class RegexValidatorTag extends ValidatorTag { private String expression; private String errorSummary; private String errorDetail; public RegexValidatorTag() { setValidatorId("com.corejsf.Regex"); } // PROPERTY: expression public void setExpression(String newValue) { expression = newValue; } // PROPERTY: errorSummary public void setErrorSummary(String newValue) { errorSummary = newValue; } // PROPERTY: errorDetail public void setErrorDetail(String newValue) { errorDetail = newValue; } public Validator createValidator() throws JspException { RegexValidator validator = (RegexValidator) super.createValidator(); validator.setExpression(eval(expression)); validator.setErrorSummary(eval(errorSummary)); validator.setErrorDetail(eval(errorDetail)); return validator; } public void release() { expression = null; errorSummary = null; errorDetail = null; } public static String eval(String expression) { if (expression != null && UIComponentTag.isValueReference(expression)) { FacesContext context = FacesContext.getCurrentInstance(); Application app = context.getApplication(); return "" + app.createValueBinding(expression).getValue(context); } else return expression; } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -