我想在p:dataTable中创建一个命令链接列,这样我就可以从表中删除行。所以我把这个专栏添加到表中:
<p:column>
<p:commandLink process="@form" update=":growl @form" action="#{cityManagedBean.deleteCity(cityItem)}">
<h:graphicImage library="images" name="icon/delete.png"/>
</p:commandLink>
</p:column>
根据这些主题: How can I pass a parameter to a commandLink inside a data table?
CDI bean List in the data table is null on submit from JSF
据我所知,dataTable中使用的数据模型必须在post请求处理中保留。当我将支持bean的范围更改为会话范围时,一切正常。
但我的问题是:
为什么必须保留数据模型。我的意思是JSF
生命周期中发生的事情,我需要保留dataTable的数据模型吗?
在dataTable教程部分的primefaces
演示站点中,在dataTable中选择和使用POJO时,不使用转换器。在引擎盖下发生了什么,使得不必将对象转换为字符串,反之亦然?
如果可以将POJO从Facelets传递到没有转换器的辅助bean,为什么在使用selectOneMenu和SelectManyMenu组件时需要定义转换器?