JSF Primefaces Datatable ActionLink问题

时间:2015-07-17 23:03:01

标签: jsf primefaces datatable

先决条件:

  • Glasfish 3.1
  • JSF 2.1
  • Primefaces 5.2

用户故事:

我想在Primefaces DataTable上实现删除行功能,删除功能必须显示在表格中。

实现:

数据表标题

<p:dataTable value="#{a.list}" var="var">

删除

<p:column headerText="Delete">
    <p:commandLink value="-" action="#{a.delete(var)}" />
</p:column>

bean中的删除方法

public void delete(Something sth) {

    model.getList().remove(sth);        
}

结果:

Outcome

当鼠标悬停在commandLink上时,它显示我的统一资源定位器localhost / applicationname /#

Eclipse在这个ExpressionLanguage代码#{a.delete(var)}上给了我Facelet Validator警告标记语法错误

问题:

为了删除该行,我缺少什么?

1 个答案:

答案 0 :(得分:0)

解决方案:

我已经从JSF(而不是primefaces)更改为commandlink并且得到了错误,我的方法不应该是void,但是在更改它并返回null之后它会运行...

public String delete(Something sth) {

    model.getList().remove(sth); return null; 
}