我们想知道是否可以在 Facelets 中的 javascript 方法内获取托管 bean 属性值,或者将 javascript 值传递给托管 bean 属性但不使用隐藏标记?
当我们搜索它们时,我们看到的都是关于使用html隐藏标签或隐藏按钮的点击事件的示例或解决方案。但是当我们需要在 ManagedBean 和 JavaScript 之间进行大量数据交换时,此方法对我们来说没有用,因为它需要大量隐藏标签。
您可以像在地图中一样创建具有名称值对的 json 对象,并将它们作为请求参数发送。你可以有一个p:remoteCommand
可以从您的 javascript 函数调用,如下所示
function sendParams() {
passToJSFManagedBean ([ {
name : 'sno',
value : 1
},
{
name : 'name',
value : srikanth
}
]);
}
以上passToJSFManagedBean
应该是远程命令函数的名称,如下所示
<p:remoteCommand name="passToJSFManagedBean" id="passToJSFManagedBeancmd"
action="#{myBean.getParams}"
process="@this" />
您可以访问托管 bean 操作中传递的参数
public void getParams() {
String sno= FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap()
.get("sno");
//same way you can get name
}
希望这可以帮助
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)