validation - How to remove specific FacesMessage from FacesContext? -
how can delete specific facesmessage facescontext. lets have list contains 2 facesmessages detail(getdetail()) mandatory fields , invalid account number , want delete mandatory fields facesmessage.
below sample code :
listiterator<?> cmessages = context.getmessagelist().listiterator(); cmessages.hasprevious(); while (cmessages.hasnext() && cmessages!=null) { facesmessage msg =(facesmessage) ((cmessages.next() instanceof facesmessage)?cmessages.next():null); if(msg!=null){ if(msg.getdetail().equals(messagedetail)){ cmessages.next(); cmessages.remove(); } } } as above code giving me unsupportedoperation exception
below code snippet wrote fixed issue
public static void clearmessageswithid(string messageid) { string messagedetail = geterrormessage(messageid); facescontext context = facescontext.getcurrentinstance(); (iterator<facesmessage> iterator = context.getmessages(); iterator.hasnext();) { facesmessage msg = iterator.next(); if (msg.getdetail().contains(messagedetail)) { // remove current element iterator , list. iterator.remove(); } } } and unsupportedoperation reported because trying access element unexistent element in list
Comments
Post a Comment