1 16 package org.apache.myfaces.custom.equalvalidator; 17 18 import javax.faces.context.FacesContext; 19 import javax.faces.el.ValueBinding; 20 import javax.faces.validator.Validator; 21 import javax.faces.webapp.UIComponentTag; 22 import javax.faces.webapp.ValidatorTag; 23 import javax.servlet.jsp.JspException ; 24 25 46 public class ValidateEqualTag extends ValidatorTag { 47 48 private String _for = null; 50 51 public ValidateEqualTag(){ 52 } 53 54 public void setFor(String string) { 55 _for = string; 56 } 57 58 protected Validator createValidator() throws JspException { 59 60 FacesContext facesContext = FacesContext.getCurrentInstance(); 61 setValidatorId(EqualValidator.VALIDATOR_ID); 62 EqualValidator validator = (EqualValidator)super.createValidator(); 63 if (_for != null) 64 { 65 if (UIComponentTag.isValueReference(_for)) 66 { 67 ValueBinding vb = facesContext.getApplication().createValueBinding(_for); 68 validator.setFor(new String (vb.getValue(facesContext).toString())); 69 } 70 else 71 { 72 validator.setFor(_for); 73 } 74 } 75 return validator; 76 } 77 public void release() { 78 super.release(); 79 _for = null; 80 } 81 } 82 | Popular Tags |