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

Posted

技术标签:

【中文标题】如果单击按钮时显示警告消息,则不显示更新的搜索结果列表【英文标题】:if warning message displayed onclick of Button, then updated search result list not displaying 【发布时间】:2016-12-07 08:22:54 【问题描述】:

当我点击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();"/>

faces-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>

现在的问题是,

如果我返回 self 并从屏幕的下拉列表中选择值,则更新的搜索结果将显示与下拉值相对应的值,但未显示警告消息...

如果我返回 null 并从屏幕的下拉列表中选择值,则显示警告消息但更新的搜索结果未显示与下拉值相对应的下拉值(如果我在选择后单击搜索按钮 2 次下拉列表中的值,然后显示更新的结果列表)...

【问题讨论】:

【参考方案1】:

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

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

我找到的原帖here

【讨论】:

以上是关于如果单击按钮时显示警告消息,则不显示更新的搜索结果列表的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 Javascript / jQuery 在按钮单击时显示引导警报?

如何在按钮单击时显示验证消息?

单击按钮时显示 2 个用户输入变量的结果

ASP.NET,在回发时显示加载消息

如果为空选择选项,则单击按钮时显示模式引导

从单选按钮输入单击时显示模式