この質問は以前に尋ねられたと思いますが、私はまだそれを行う方法を理解していません。私の目的は、GoogleMaps のポイントをクリックし、クリックしたポイントの座標をバッキング Bean に保存することです。私のコードは次のとおりです。
JSF
<h:inputHidden id="lat" value="#{ChartsBean.lat}" />
<p:commandLink id="updateChart" update="chart" actionListener="#{ChartsBean.lineChart}"/>
<p:lineChart id="chart" value="#{ChartsBean.lineChart}" />
JS
google.maps.event.addListener(map, "click", function(event) {
var lat = event.latLng.lat();
var lng = event.latLng.lng();
document.getElementById('lat').value = '99': //just for testing
$("#updateChart").click();
});
バッキングビーン
private String lat,lon;
//getters and setters
要素「lat」の値は正しく設定されていますが、変更がバッキング Bean に届いていないようです。
しかし、updateChart は機能しています。私はそれをここに投稿しませんでしたが、私が持っている場合はBeanに投稿しました:
EDIT1: 別のことですが、バッキング Bean で X と Y を次のように設定した場合:
x = (int)(20*Math.random());
y = (int)(20*Math.random());
それ以外の:
x = findX(Double.parseDouble(lat));
y = findY(Double.parseDouble(lon));
マップ上の任意の場所をクリックすると、チャートが更新されますが、明らかにランダムなポイントです。