0

我正在我的 jsf 应用程序中开发一个功能,它应该从数据库中检索地点的纬度和经度,并将其绘制在谷歌地图中。由于gmaps4jsf库未使用google maps java script api v3进行更新,因此我使用的是 google maps java script api。问题是在检索纬度和经度(通过jsf)后,我无法调用脚本来绘制地图中的位置。

这个问题的解决方案是什么?

4

1 回答 1

2

只需让 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 响应的一部分。

于 2012-04-26T13:12:54.797 回答