我们如何从<tr>
<td>open</td>
<td>http://cnn.com</td>
<td></td>
</tr>
<tr>
<td>storeText</td>
<td>//h2[@class="banner-text banner-text--natural"]</td>
<td>buttonText</td>
</tr>
<tr>
<td>echo</td>
<td>${buttonText}</td>
<td></td>
</tr>
删除特定的FacesMessage
。假设我的列表包含两个FacesMessages,其详细信息(FacesContext
)为getDetail()
和Mandatory Fields
,我想删除Invalid Account Number
Mandatory Fields
。
以下是我的示例代码:
FacesMessage
由于上面的代码有时会给我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();
}
}
}
异常
答案 0 :(得分: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
是因为我以前试图访问列表中的元素不存在元素