我在 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
}
}
在.js中,您可以为要从托管 Bean 访问的变量创建一个元素:
formElement = document.createElement('input');
formElement.type = 'hidden';
formElement.name = someName;
formElement.id = someId;
$(document.getElementById('spanId or divId')).append(formElement);