如何在JavaScript中获取bean属性值而不使用XHTML中的隐藏标记?

如何在JavaScript中获取bean属性值而不使用XHTML中的隐藏标记?,javascript,jsf,primefaces,portlet,Javascript,Jsf,Primefaces,Portlet,我使用JSON和remotecommand将值传递给managedbean,但当我尝试在JavaScript中查看托管bean的值时,我看到的是默认值,而不是更新后的值 我不想刷新页面或在XHTML中使用隐藏标记,因为我可能需要大量的数据交换 值更改时: <script> var json= [ { name : 'zoom', value : zoomLevel } ]; sendParams(json); </script>

我使用JSON和remotecommand将值传递给managedbean,但当我尝试在JavaScript中查看托管bean的值时,我看到的是默认值,而不是更新后的值

我不想刷新页面或在XHTML中使用隐藏标记,因为我可能需要大量的数据交换

值更改时:

<script>
    var json= [ { name : 'zoom',  value : zoomLevel }  ];          
    sendParams(json);
</script>
在.xhtml中,我调用managedbean中的函数:

<p:remoteCommand name="passToJSFManagedBean" id="passToJSFManagedBeancmd" action="#{tagBean.setParams}" process="@this" /> 
然后我们可以看到传递给托管bean的值。但是当我在js中尝试时,缩放值不会更新,而是具有默认值

alert('#{tagBean.zoom}');

有没有办法在javascript中获取托管bean的属性而不使用xhtml中的隐藏标记?重要的是页面不需要刷新。是否可以使用remotecommand获取managedbean值?谢谢您的帮助。

在primefaces中,通过requestContext我可以获得bean的属性。

“但是当我在js中尝试时,缩放值没有更新,而是具有默认值。”只需
更新客户端中的缩放值即可?我认为这是一种解决方法。我想知道原因是什么。我知道,但我不想在页面上打印或在xhtml页面中使用隐藏标签。我使用openlayers和FailoJS并从中获得一些值,比如缩放值。我还需要其他值在managedbean和js之间交换数据。因此,对xhtml中的每个属性使用#{}是一种工作负载。我错在哪里?请帮我纠正我的错误。当我更改地图上的缩放值时,我会通过js中调用remoteCommand的函数更新缩放值,它会更新托管bean中的缩放值。值更新后,为了在js中获得更新后的值,我使用primefaces的requestContext调用托管bean中的getZoom值,并将其转换为js中的函数。但是我看到缩放值仍然有默认值,而不是更新后的值。但是仍然存在问题。我得到的是默认的bean属性值,而不是更新后的bean属性值。这是我用一个调用托管bean中setParam函数的remotecommand更新该值的原因吗?
public void setParams() {
   this.zoom= Integer.parseInt(FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("zoom")); 
   System.out.println("Zoom level: "+zoom); 
} 
alert('#{tagBean.zoom}');