0

データベースから場所の緯度と経度を取得し、Googleマップにプロットする必要がある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 を使用している場合は、代わりに、テンプレート テキストで EL の代わりに<h:panelGroup><script>も使用してください)<h:outputText>

のようなもので

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

注意: JSF は基本的に HTML を生成します。JS は HTML レスポンスの一部です。

于 2012-04-26T13:12:54.797 に答える