1
私のコードでは、p:poll(primefaces)を持つxhmtlページがあります。 5秒ごとにpanelMap(私のパネル)が更新されます。地図が更新されると、それが3つのメッセージを鳴らす必要があります。問題は、それが3つ以上表示され、次に6つのメッセージが表示されることです。そして私は多くのdiffを試しました。方法とcouldnt解決する。p:polllを2回呼び出す
ビューが
<ui:composition template="/WEB-INF/template/Layout.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui" xmlns:o="http://omnifaces.org/ui">
<title>Monitoramento</title>
<f:metadata>
<f:event listener="#{gadoBean.obterPosicaoTag}" type="preRenderView" />
</f:metadata>
<ui:define name="corpo">
<script
src="https://maps.googleapis.com/maps/api/js?key="mykey"
type="text/javascript"></script>
<h:form prependId="false">
<h:panelGrid columns="3">
<p:poll interval="5" listener="#{gadoBean.obterPosicaoTag}"
update="panelMap" />
<p:button value="Adicionar Pasto" outcome="/area/criarArea.xhtml" />
<p:button value="Mudar animal de pasto"
outcome="/propriedade/mudarAnimal.xhtml" />
</h:panelGrid>
<p:panel id="panelMap" header="Monitoramento"
footer="clique sobre o pasto desejado para obter suas informações"
style="margin-top:30px;margin-left:230px;width:700px;max-width:100%;height:450px;max-height:100%">
<p:growl id="growl" showDetail="false" sticky="true" />
<p:gmap id="mapa" center="#{gadoBean.center}" zoom="17"
model="#{gadoBean.mapa}" type="HYBRID"
style="width:862px;height:400px;max-width:100%;max-height:100%">
<p:ajax event="pointSelect"
listener="#{gadoBean.aoSelecionarPonto}" update="growl" />
</p:gmap>
</p:panel>
</h:form>
</ui:define>
</ui:composition>
それは動作しますか? –
動作しませんでした:/ –
解決策が見つかりました! obterPosicaoTagメソッドの呼び出し時にgrowlが更新されているので、メタデータ でこの行を取り出しました。それから、それは2回呼び出されています。 –