我正在我的 jsf 应用程序中开发一个功能,它应该从数据库中检索地点的纬度和经度,并将其绘制在谷歌地图中。由于gmaps4jsf库未使用google maps java script api v3进行更新,因此我使用的是 google maps java script api。问题是在检索纬度和经度(通过jsf)后,我无法调用脚本来绘制地图中的位置。
这个问题的解决方案是什么?
我正在我的 jsf 应用程序中开发一个功能,它应该从数据库中检索地点的纬度和经度,并将其绘制在谷歌地图中。由于gmaps4jsf库未使用google maps java script api v3进行更新,因此我使用的是 google maps java script api。问题是在检索纬度和经度(通过jsf)后,我无法调用脚本来绘制地图中的位置。
这个问题的解决方案是什么?
只需让 JSF 打印它,就好像它是一个 JS 变量。
<h:form>
<h:commandButton value="Submit" action="#{bean.submit}" />
</h:form>
<h:outputScript rendered="#{not empty bean.lat and not empty bean.lon}">
var lat = #{bean.lat};
var lon = #{bean.lon};
initializeMapSomehowWith(lat, lon);
</h:outputScript>
(<h:outputScript>
生成一个 HTML<script type="text/javascript">
元素,如果您仍在使用旧的 JSF 1.x,请在模板文本中使用<h:panelGroup><script>
而不是 EL)<h:outputText>
有类似的东西
public void submit() {
lat = 12.106173;
lon = -68.935304;
}
请记住:JSF 基本上生成 HTML。JS 是 HTML 响应的一部分。