您好我使用的是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()));
}
如果你能帮忙谢谢
答案 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)
希望这有帮助。