2015-07-13 4 views
0

Как мы можем удалить конкретный FacesMessage от FacesContext. Допустим, у меня есть список, который содержит два FacesMessages, чья деталь (getDetail()) равна Mandatory Fields и Invalid Account Number, и я хочу удалить Mandatory FieldsFacesMessage.Как удалить определенный FacesMessage из FacesContext?

Ниже мой пример кода:

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(); 
     } 
    } 
} 

Как мой выше код также дает мне иногда UnsupportedOperation исключение

+2

* «Иногда мне предоставляется исключение неподдерживаемой операции» * Хорошие исключения уже представляют собой весь ответ на проблему. Это всего лишь вопрос возможности их интерпретировать. Мы можем перевести их в условиях непрофессионала. Поэтому не полезно, если вы скрываете все детали исключения от тех, кто может перевести их для вас. Исключения и следы стека абсолютно не похожи на бесполезное украшение. Будьте конкретны и подробно о них. – BalusC

+0

Извинения! Сообщалось о 'UnsupportedOperation', потому что раньше я пытался получить доступ к элементу, не являющемуся элементом в списке –

ответ

0

Ниже фрагмент кода я написал, что сосредоточил свой вопрос

public static void clearMessagesWithID(String messageID) 
{ 
    String messageDetail = getErrorMessage(messageID); 
    FacesContext context = FacesContext.getCurrentInstance(); 
    for (Iterator<FacesMessage> iterator = context.getMessages(); iterator.hasNext();) { 
    FacesMessage msg = iterator.next(); 
    if (msg.getDetail().contains(messageDetail)) { 
     // Remove the current element from the iterator and the list. 
     iterator.remove(); 
    } 
    } 
} 

И что UnsupportedOperation было сообщено, потому что раньше я пытался получить доступ к элементу, не имеющему элемента в списке

Смежные вопросы