Primefaces p:remoteCommand 参数始终为空

Primefaces p:remoteCommand parameter always null

我正在尝试使用

传递参数

p:remoteCommand

不幸的是,当我在我的 bean 方法中检索参数时,我总是得到 null。

我的代码有问题吗?

这是我的页面代码:

<a href="#" onclick="rc([{'d':'01'}])">01</a>

<p:remoteCommand name="rc" update=":myform:messages" actionListener="#{mybean.changedaybar}" />

这是 bean 方法:

public void changedaybar() {
            Map<String, String> params = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
            String param = params.get("d");

            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Executed"+param, "Using RemoteCommand."));
    }

您使用的是哪个版本的 PrimeFaces?这很重要,因为从 JavaScript 函数向 p:remoteCommand 传递参数的方式在 PrimeFaces 3.3 中发生了变化。

您将在以下 post 中看到正确的语法: 但为了您的方便,这里是摘要。

来自 PrimeFaces 3.3

Passing Parameters

Remote command can send dynamic parameters in the following way;

increment([{name:'x', value:10}, {name:'y', value:20}]);

<a href="#" onclick="rc([{name: 'd', value:'01'}])">01</a>

PrimeFaces 3.3 之前

Passing Parameters

Remote command can send dynamic parameters in the following way;

increment({param1:'val1', param2:'val2'});

<a href="#" onclick="rc({d:'01'})">01</a>