无法使用素数图获取我的 bean 中动作的参数

  • 本文关键字:bean 参数 获取 jsf primefaces
  • 更新时间 :
  • 英文 :


使用以下带有素数面的代码6.0

<p:diagram  value="#{myBean.model}" var="m" >
    <f:facet name="element">
        <h:commandButton value="#{m.id}" action="#{myBean.test(m.id)}"/>
    </f:facet>
</p:diagram>

@Named
@SessionScoped
public class MyBean implements Serializable {
    .....
    private  DefaultDiagramModel model;
    //getter and setter
    public String test(int id) {
        System.out.println("ID IS : " + id);
        return null;
    }
    ....
}

我得到按钮标签上的id值(在xhtml页面上呈现(。

但我总是得到的号码

ID为:0

在IDE控制台上

如果我用action="#{myBean.test(4)}"更改代码,我会进入IDE控制台

4

如果我用action="#{myBean.test(6)}"更改代码,我会进入IDE控制台

6

但当我回到action="#{myBean.test(m.id)}"时,我在IDE控制台中总是得到编号0

但是,如果id在xhtml页面上的按钮标签上表现良好,则该值

引发了非异常!

请帮忙吗?

了解如何通过-hcommandbutton传递参数-along。我已经用<f:param>检查了这个例子,它在您的情况下就像一个符咒。

所以在你的情况下

<p:diagram  value="#{myBean.model}" var="m" >
   <f:facet name="element">
       <h:commandButton value="#{m.id}" action="#{myBean.test}">
           <f:param name="elementId" value="#{m.id}" />
       </h:commandButton>
   </f:facet>
</p:diagram>

和在豆

public String test() {
    String elementId= FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("elementId");
    System.out.println("ID IS : " + elementId);
    return null;
}

相关内容

  • 没有找到相关文章

最新更新