UrlValidator类型已弃用

时间:2013-01-11 09:15:58

标签: java jsf validation

我正在编写自定义验证程序以检查用户输入的网址:

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

提前感谢你

3 个答案:

答案 0 :(得分:9)

来自org.apache.commons.validator.UrlValidator包的UrlValidator已弃用,请使用此Routines包中的UrlValidator:

答案 1 :(得分:1)

根据JavaDoc:

  

在例程包中使用新的UrlValidator。这堂课将是   在将来的版本中删除。

答案 2 :(得分:1)

您正在使用的UrlValidator已弃用,将在以后的版本中删除。

您应该使用例程包中的UrlValidator替换它。例程包可以在Apache Commons Validator组件中找到。