jsf - 如何将参数传递给树表中的远程命令?

标签 jsf primefaces

我想将参数node传递给函数doAction,该函数将被远程命令调用,如何传递?假设node有属性nametype,我想在doAction中使用它们,我该如何传递变量?

谢谢!

public static class node {
        String name;
        String type;

        //setters getters etc...
}

<p:remoteCommand name="doWhatYouWant" action="#{managedBean.doAction}" />

<p:treeTable value="#{managedBean.tree}" var="node">
<p:column>
        <p:commandLink value="Invoke action"  onclick="doWhatYouWant([params...])" />
</p:column>
</p:tree>

public void doAction() {
        // do something with var="node"
}

最佳答案

我解决了这个问题

 <p:remoteCommand name="doWhatYouWant" action="#{managedBean.doAction}" />
 ...
 <p:commandLink value="Invoke action"  
     onclick="doWhatYouWant(
           [{name:'n', value:'#{node.name}'},
            {name:'t', value:'#{node.type}'}])" />

在支持bean中:

public void doAction() {
    FacesContext context = FacesContext.getCurrentInstance();
    Map<String, String> map = context.getExternalContext().getRequestParameterMap();
    String name = map.get("n"); // name attribute of node
    String type = map.get("t"); // type attribute of node  
    ...
}

关于jsf - 如何将参数传递给树表中的远程命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17371806/

相关文章:

java - 包含 inputText : is it possible with JSF Custom Component 的 DataTable

jsf - 阻止 p :commandButton displayed on a p:confirmDialog in addition to displaying a dynamic message on the dialog

jsf - 添加 <f :validateLength> tag customised for a field 的错误消息

jsf - 如何禁用 Primefaces 对话框中第一个输入的焦点?

java - 如何使用 Primefaces 对话框框架打开多个对话框

java - WELD-000315 获取对话锁失败

jsf - 库primefaces 不包含组件步骤

java - 如何设置 f :selectItem in a specific option after a p:commandButton action?

jsf - 如何仅更新 p :tabView? 的事件选项卡

java - p :selectOneMenu: Validation Error: Value is not valid