应用程序是在移动设备浏览器的屏幕上显示设备到GPS坐标的距离。

HTML5允许从移动设备获取坐标,但是这些坐标需要定期发送到服务器,到目标的距离以及显示在网页上的结果吗?

如何强制JSF和OpenFaces页面定期发布h:inputHidden值并使用ajax渲染h:outputText? Primefaces为此具有p:poll组件。

    <h:form id="coords">
        <h:inputHidden id="latitude" value="setByJavascript"></h:inputHidden>
        <h:inputHidden id="longitude" value="setByJavascript"></h:inputHidden>
    </h:form>
    <h:outputText id="distance" value="#{bean.distance}"></h:outputText>

最佳答案

您可以使用OpenFaces客户端API从O$.ajax.request()函数内部调用Ajax(setInterval()函数)请求,如下所示:

<body onload="setInterval(function() {
        O$.ajax.request(null, null, {
          execute: 'coords:latitude coords:longitude',
          render: 'distance'});
        }, 10000)">
  <h:form id="coords">
  ...


该代码可能需要进行一些调整,但它显示了如何完成此操作的一般思路。

10-06 07:37