【问题标题】:Passing a parameter from javascript to managedbean [duplicate]将参数从javascript传递到managedbean [重复]
【发布时间】:2015-02-24 13:06:07
【问题描述】:

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

【问题讨论】:

  • 有一些特殊的方法可以做到这一点,但如果你展示了潜伏在你的应用程序中的确切场景,可能有完全不同的方法来实现这一点,而根本不需要使用单个 JavaScript 函数。

标签: javascript jsf primefaces managed-bean


【解决方案1】:

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

在您的托管 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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-21
    • 2014-10-27
    • 2011-05-28
    • 1970-01-01
    • 2013-04-06
    • 1970-01-01
    • 2012-11-13
    相关资源
    最近更新 更多