我在jsf页面的javascript中有一个变量,我想在我的托管bean中获取这个变量。 你知道我怎么做吗?
答案 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);