我正在编写自定义验证程序以检查用户输入的网址:
package tn.talan.testFramework.validators;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;
import org.apache.commons.validator.UrlValidator;
public class URLCustomValidator implements Validator{
public void validate(FacesContext context, UIComponent component,Object value) throws ValidatorException {
String enteredURL = (String) value;
String[] schemes = {"http","https"};
System.out.println(enteredURL);
FacesMessage message = null ;
String messageStr = null ;
UrlValidator urlValidator = new UrlValidator(schemes);
if (!urlValidator.isValid(enteredURL)) {
System.out.println("url is invalid valid");
message = new FacesMessage();
messageStr = (String)component.getAttributes().get("message");
if (messageStr == null) {
messageStr = "Inavalid URL";
}
message.setDetail(messageStr);
message.setSummary(messageStr);
message.setSeverity(FacesMessage.SEVERITY_ERROR);
throw new ValidatorException(message);
}
}
}
我收到此警告,我想解决它:
The type UrlValidator is deprecated
提前感谢你
答案 0 :(得分:9)
来自org.apache.commons.validator.UrlValidator包的UrlValidator已弃用,请使用此Routines包中的UrlValidator:
答案 1 :(得分:1)
根据JavaDoc:
在例程包中使用新的UrlValidator。这堂课将是 在将来的版本中删除。
答案 2 :(得分:1)
您正在使用的UrlValidator已弃用,将在以后的版本中删除。
您应该使用例程包中的UrlValidator替换它。例程包可以在Apache Commons Validator组件中找到。