1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
import java.util.Iterator;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.component.UIViewRoot;
import javax.faces.context.FacesContext;
import javax.faces.event.PhaseEvent;
import javax.faces.event.PhaseId;
import javax.faces.event.PhaseListener;
import org.apache.myfaces.component.html.ext.UIComponentPerspective;
public class JsfListener implements PhaseListener {
public PhaseId getPhaseId() {
return PhaseId.RENDER_RESPONSE;
}
public void beforePhase(PhaseEvent e) {
FacesContext fc = e.getFacesContext();
UIViewRoot root = fc.getViewRoot();
Iterator i = fc.getClientIdsWithMessages();
while (i.hasNext()) {
String clientId = (String) i.next();
if (clientId != null){
UIComponent c = (UIComponent) root.findComponent(clientId);
if (c!=null){
String fieldRef =
(String) c.getAttributes().get("test");
if (fieldRef != null) {
UIComponentPerspective ccompo = (UIComponentPerspective)c;
String value = new String((String)ccompo.getSubmittedValue());
if (!value.equals(""))
{
ccompo.setSubmittedValue("");
Iterator j = fc.getMessages(clientId);
while (j.hasNext()) {
FacesMessage fm = (FacesMessage) j.next();
fm.setSummary(value +" : Format de date incorrect");
}
}
}
}
}
}
}
public void afterPhase(PhaseEvent e) {
}
} |
Partager