应用程序是在移动设备浏览器的屏幕上显示设备到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">
...
该代码可能需要进行一些调整,但它显示了如何完成此操作的一般思路。