Error Primefaces p:commandLink

时间:2014-03-13 07:02:32

标签: jsf-2 primefaces commandlink

您好我使用的是JSF和PrimeFaces 3.5 2.1.17,我的代码如下:

<p:dataTable id="resultTable" var="entity" value="#{requerimentoBean.entitys}" >
    <p:column style="width: 22px;">
        <p:commandLink actionListener="#{requerimentoBean.prepareEdition(entity)}">
            <h:graphicImage library="images" title="Editar" name="edit.png" style="border: none;" />
        </p:commandLink>
    </p:column>
</p:dataTable>

问题出现在这一行:

<p:commandLink actionListener="#{requerimentoBean.prepareEdition(entity)}">

放置entity参数时发生错误。该方法无法编译,因此是访问者。

public void prepareEdition(Requerimento entity){
    System.out.println("***** Método preperaEdition ****");
    System.out.println("***** ID: " + entity.getId() + "*****");
    setEntity(logic.getById(entity.getId()));
}

如果你能帮忙谢谢

2 个答案:

答案 0 :(得分:0)

这是传递对象的方式

<p:commandLink
    actionListener="#{requerimentoBean.prepareEdition()}">
    <h:graphicImage library="images" title="Editar" name="edit.png"
        style="border: none;" />
    <f:setPropertyActionListener target="#{requerimentoBean.entityObj}"
        value="#{entity}" />
</p:commandLink>

答案 1 :(得分:0)

将actionListener替换为

之类的操作
 <p:commandLink process="@this"  
                action="#{requerimentoBean.prepareEdition(entity)}">.   

actionListener绑定方法应该具有类似

的签名
  public void method(ActionEvent event)  

希望这有帮助。