【发布时间】:2018-11-07 15:46:19
【问题描述】:
我想在 Primefaces 对话框中显示 Primefaces gmap。纬度/经度是一个命名 Bean 变量,并作为 Primefaces gmap 函数的参数如下:
<ui:composition
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<p:dialog header="MAP" widgetVar="gmapDialog" appendTo="@(body)" modal="false" showEffect="fade" hideEffect="fade" resizable="true">
#{gererAnnoncesMB.coordonneesGPS}
<p:gmap id="gmap" center=" #{gererAnnoncesMB.coordonneesGPS}" zoom="15" type="terrain" style="width:600px;height:400px" />
</p:dialog>
lat/long 的 Bean 变量的值是正确的,但没有传入 primefaces gmap 函数,其中 lat/long 变量的值在生成的 HTML 代码中设置为“00.000000,00.000000”:
pf.cw(
"GMap",
"widget_formVisualisationAnnonce_gmap",
{
id:"formVisualisationAnnonce:gmap",
mapTypeId:google.maps.MapTypeId.TERRAIN,
center:new google.maps.LatLng(00.000000, 00.000000),
zoom:15,
fitBounds:false
}
);
结果是一个空白屏幕,显示以下 Chrome 控制台消息: pf.cw() 函数行上的“Uncaught SyntaxError: missing ) after argument list”。
所以 2 个问题:
第一:为什么Bean变量没有很好的传递给Primesfaces JS函数?
第二个,对我来说不太重要:为什么经度参数的第一个 0 似乎会在参数列表之后生成这个“Uncaught SyntaxError: missing )”。
非常感谢,并道歉,我是 JSF 的新手,对 JAVASCRIPT 的了解非常少;-)
【问题讨论】:
-
对于缺失的 bean 值:bean 中的值何时填充?尝试在对话框中使用
dynamic=true。这将呈现对话框内容,显示时间,而不是在 DOM 生成期间。 -
首先,EL前面有一个空格。其次,地图前面的 EL 显示了什么(如果您将其设为
-#{gererAnnoncesMB.coordonneesGPS}-(前导和尾随减号以查看“边界”)
标签: google-maps primefaces jsf-2