如果单击 Button 时显示警告消息,则更新后的搜索结果列表不显示

if warning message displayed onclick of Button, then updated search result list not displaying

当我点击search按钮时,它会根据我们输入的条件或总数显示搜索结果,这样当搜索结果超过100时它会显示警告信息并更新搜索结果基于我们输入的条件。

MyForm.java

public String findList() {

    try {
        vwList = null;
        String ret = "self";
        rendered = false;

        long count = myEntryListService.findHistMasterCount(entryJyokenVO,formMode);

        System.out.println("count: " + count);
        if (count > CommonConst.MAX_ROW) {
            List msgList = new ArrayList();
            String params[] = new String[]{"WW000001", String.valueOf(CommonConst.MAX_ROW), String.valueOf(count)};
            msgList.add(params);
            ShowErrMsg.saveErr(msgList);
            System.out.println("warning message: " + FacesContext.getCurrentInstance().getMessages().next().getDetail()); // here getting warning message
    //      ret = "self"; //updated list is displaying but warning message not displaying
            ret = null; // warning message displaying but updated search results not displaying
        }

        vwList = myEntryListService.findHistMasterList(entryJyokenVO, formMode);
        rendered = true;
        System.out.println("vwList size: " + vwList.size());

        return ret;
    } catch (Exception e) {
        System.out.println("System error");

        return "error";
    }
}

agent.xhtml

<h:commandButton id="search" value="#{msgs['label.button.search']}" action="#{myForm.findList}" onclick="openLoadingWindow();"/>

面孔-config.xml

<navigation-rule>   
    <from-view-id>/jsp/agency/agent.xhtml</from-view-id>
    <navigation-case>
        <from-outcome>self</from-outcome>
        <to-view-id>/jsp/agency/agent.xhtml</to-view-id>
        <redirect/>
    </navigation-case>
</navigation-rule>

现在的问题是,

你可以试试这个。它可能会解决您的问题。

context.addMessage(clientId, facesMessage);    
context.getExternalContext().getFlash().setKeepMessages(true);

原文post我找到了here