将参数从javascript传递到managedbean

将参数从javascript传递到managedbean,javascript,jsf,primefaces,managed-bean,Javascript,Jsf,Primefaces,Managed Bean,我在jsf页面的javascript中有一个变量,我想在我的托管bean中获得这个变量。 你知道我怎么做吗?这可能不是最好的解决方案,但我过去也做过类似的事情: 在托管bean(.java)中,您可以通过以下操作访问前端元素: Map<String, String> parameters = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap(); for (Entry<S

我在jsf页面的javascript中有一个变量,我想在我的托管bean中获得这个变量。
你知道我怎么做吗?

这可能不是最好的解决方案,但我过去也做过类似的事情:

在托管bean(.java)中,您可以通过以下操作访问前端元素:

Map<String, String> parameters = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();

for (Entry<String, String> formElement : parameters.entrySet()) {
        String elementName = formElement.getKey();
        if (elementName != null && //some other qualifier, for instance if the elementName starts with some pre-defined value) {
            String elementValue = formElement.getValue();
            //Set the variable in the backend

        }
}

有一些特殊的方法可以做到这一点,但是如果您展示了应用程序中隐藏的确切场景,那么可能会有完全不同的方法来实现这一点,而无需使用单个JavaScript函数。
formElement = document.createElement('input');
formElement.type = 'hidden';
formElement.name = someName;
formElement.id = someId;
$(document.getElementById('spanId or divId')).append(formElement);