Tutorial :Is there any standard JSF converter from inputText to URL?



Question:

I'm trying to convert inputText to java.net.URL in JSF page:

...  <h:form>    <h:inputText value="${myBean.url}" />    <h:commandButton type="submit" value="go" />  </h:form>  ...  

My backed bean is:

import java.net.URL;  @ManagedBean public class MyBean {    public URL url;  }  

Should I implement the converter from scratch or there is some other way?


Solution:1

Yes, you need to implement a Converter. It's not that hard for this particular case:

@FacesConverter(forClass=URL.class)  public class URLConverter implements Converter {        @Override      public Object getAsObject(FacesContext context, UIComponent component, String value) {          if (value == null) {              return null;          }            try {              return new URL(value);          }          catch (MalformedURLException e) {              throw new ConverterException(new FacesMessage(String.format("Cannot convert %s to URL", value)), e);          }      }        @Override      public String getAsString(FacesContext context, UIComponent component, Object value) {          if (value == null) {              return "";          }            return value.toString();      }    }  

Put it somewhere in your project. Thanks to the @FacesConverter it'll register itself automagically.


Solution:2

you can implement a Custom Converter

http://www.roseindia.net/jsf/customconverter.shtml

Hope this helps


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »