我正在我的 jsf 应用程序中开发一项功能,该功能应该从数据库中检索地点的经纬度并将其绘制在 Google map 中。自 gmaps4jsf库未更新为 google maps java script api v3 ,我按原样使用谷歌地图java脚本api。问题是,在检索纬度和经度(通过 jsf)后,我无法调用脚本来绘制 map 中的位置。
这个问题有什么解决办法吗?
最佳答案
让 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>
代替,并在模板文本中使用 <h:outputText>
代替 EL)嗯>
类似的东西
public void submit() {
lat = 12.106173;
lon = -68.935304;
}
记住:JSF 基本上生成 HTML。 JS 是 HTML 响应的一部分。
关于javascript - 在 JSF 中如何在使用 backing bean 方法获取值后调用 java 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10333719/