Primefaces 投票自动停止

Posted

技术标签:

【中文标题】Primefaces 投票自动停止【英文标题】:Primefaces poll stops automatically 【发布时间】:2014-08-08 04:04:15 【问题描述】:

p:poll 有问题

事情是我在我的代码中使用它,它工作正常。所以问题可能来自其他地方..但我不知道在哪里..

在这个特定的地方,p:poll 在 50 秒后停止工作。我找不到解决方案或类似的答案。

    <h:form>
        <h:panelGroup id="check_sitting">

            <h:panelGroup rendered="#!(commonBean.idAnonymous eq null || commonBean.idAnonymous eq '') and !commonBean.hasShownLoginModal">

                <script>                
                    $("#modalWelcome").modal("show");
                </script>
            </h:panelGroup>
        </h:panelGroup>
        <p:poll interval="1" listener="#commonBean.listenpol" update="check_sitting"  />
    </h:form>

“listenpol”方法是我正在做的一个测试,以检查正在发生的事情。但它没有帮助..

    public void listenpol()
        System.out.println("listenpol " + DateTime.now());
    

会发生什么:它正确刷新了大约 50 秒。之后,它就停止了。

提前致谢 对不起,如果这是一个愚蠢的问题。我就是不明白

编辑:

我发布更多代码。我删除了脚本。现在它看起来像这样:

<h:body>
<div class="row">
    <div class="col-sm-3 col-lg-3">
        <div class="dash-unit">

            <ui:insert name="header">
                <ui:include src="/template/common/commonHeader.xhtml" />
            </ui:insert>

            <ui:insert id="contentInsert" name="content">
                <ui:include src="/template/common/commonContent.xhtml"/>
            </ui:insert>

            <ui:insert name="footer">
                <ui:include src="/template/common/commonFooter.xhtml" />
            </ui:insert>

        </div>
    </div>
</div>
<h:form>
    <h:panelGroup id="check_sitting">

    </h:panelGroup>
    <p:poll interval="1" listener="#commonBean.listenpol" update="check_sitting"  />
</h:form>

我重复这个问题:它打印出该方法每秒所说的内容(请注意,这是我希望实现的最终行为,它只是一个测试)但它在 52 秒后完全停止......我真的想不通出去。

我还想补充一点:我在我的代码周围使用了其他一些p:poll。也许这会造成麻烦??

再次感谢

【问题讨论】:

您是否尝试删除h:panelGroup 中的代码?也许script 会导致错误,因此p:poll 会停止? 我刚试过。但它没有工作..但谢谢你!我还尝试删除其中的其他内容,但它仍然在启动后恰好停止 52 秒.. 真的很奇怪。我开始认为这与会话有关?? 检查你的会话超时,也许是 1 分钟?但我不这么认为。尝试减少你的问题(说到代码行)......直到问题不再存在,并且你有问题的原因。或者您可以发布更多代码,因为我在您提供的代码中看不到错误 好的!我正在编辑问题以添加更多代码 【参考方案1】:

我刚收到。在我发布这段代码之后,有一些模态有自己的p:poll。其中,间隔为 60 秒。出于某种原因,60 秒 p:poll 正在停止第一个。现在我需要弄清楚如何以某种方式实现这两者..但我认为我自己无法做到!谢谢

这是代码:

<h:body>
<div class="row">
    <div class="col-sm-3 col-lg-3">
        <div class="dash-unit">

            <ui:insert name="header">
                <ui:include src="/template/common/commonHeader.xhtml" />
            </ui:insert>

            <ui:insert id="contentInsert" name="content">
                <ui:include src="/template/common/commonContent.xhtml"/>
            </ui:insert>

            <ui:insert name="footer">
                <ui:include src="/template/common/commonFooter.xhtml" />
            </ui:insert>

        </div>
    </div>
</div>
<h:form>
    <h:panelGroup id="check_sitting">

    </h:panelGroup>
    <p:poll interval="1" listener="#commonBean.listenpol" update="check_sitting"  />
</h:form>

<!-- this is the modal i deleted -->
<ui:insert name="modalNotRegistered">
    <ui:include src="/template/common/modals/modalNotRegistered.xhtml"/>
</ui:insert> 

【讨论】:

以上是关于Primefaces 投票自动停止的主要内容,如果未能解决你的问题,请参考以下文章

使用PrimeFaces自动完成获取nullpointer异常

Primefaces使用POJO和字符串值自动完成[重复]

PrimeFaces自动完成多种样式但具有Multiple = false

Java PrimeFaces自动完成构面在分组时重复相同的组

捕获 primefaces <p:autoComplete> 更改事件(检测清空)

PrimeFaces Dropdown AutoComplete 内部复合组件