将参数从javascript传递到managedbean

时间:2014-12-27 18:41:28

标签: javascript jsf primefaces managed-bean

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

1 个答案:

答案 0 :(得分:0)

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

在托管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

        }
}

在.js中,您可以为要从托管bean访问的变量创建一个元素:

formElement = document.createElement('input');
formElement.type = 'hidden';
formElement.name = someName;
formElement.id = someId;
$(document.getElementById('spanId or divId')).append(formElement);