Use a FacesConverter
Proof of concept:
@Named
public class DateStringConverter implements Converter {
@Override
public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) {
SimpleDateFormat parser = new SimpleDateFormat("yyyy-MM-dd");
try {
return parser.parse(arg2);
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
@Override
public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) {
return arg2.toString();
}
}
xhthml
<p:calendar value="#{dateAsString}" pattern="yyyy-MM-dd" converter="#{dateStringConverter}" />