私は、primeFaces を使用した JSF サイトを持っています。P:RemoreCommand を使用して、JavaScript から Bean にパラメーターを取得できません。これが私のコードです:
xhtml:
<p:remoteCommand name="scaleLines" actionListener="#{mapBean2.scaleLines}" update="mapPanel"/>
それからそれを呼び出すために:
map.on('viewreset', function(){
scaleLines({newZoom:'10'});
});
セッション スコープの ManagedBean:
public void scaleLines(){
String newZoom = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("newZoom");
if(newZoom == null){
Logger.getAnonymousLogger().info("Zoom level is null");
}
else{
Integer newZoomInt = Integer.parseInt(newZoom);
this.mapzoomLevel = newZoomInt;
for(ZsyMap1Linetest line : allTestLines){
line.setWeight(((line.getWeight()*newZoomInt)/(6)));
}
}
}
これはメソッドを呼び出しますが、デバッガーをアタッチすると、newZoom が常に null であることがわかります。これは、パラメーターが渡されないことを意味します。私は他の投稿を読んだことがありますが、なぜそれが通過しないのかわかりません。また、バッキング Bean に JSF managedBean を使用し、bean という名前の CDI を使用してこれを試しましたが、どちらも同じ結果でした。