繁体   English   中英

在JSF中如何在使用backing bean方法获取值后调用java脚本

[英]In JSF how to invoke java script after getting a value using backing bean method

我正在我的jsf应用程序中开发一个功能,它应该从数据库中检索一些地方并在Google地图中绘制它。 由于gmaps4jsf库没有使用谷歌地图java脚本api v3更新,我正在使用google maps java script api。 问题是,在检索lat和lon(通过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>而且<h:outputText>而不是模板文本中的EL)

喜欢的东西

public void submit() {
    lat = 12.106173;
    lon = -68.935304;
}

请记住:JSF基本上生成HTML。 JS是HTML响应的一部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM