在jsf中使用dataTable时保留数据模型

时间:2014-10-19 20:00:55

标签: jsf jsf-2 primefaces datatable

我想在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的范围更改为会话范围时,一切正常。

但我的问题是:

  1. 为什么必须保留数据模型。我的意思是JSF生命周期中发生的事情,我需要保留dataTable的数据模型吗?

  2. 在dataTable教程部分的primefaces演示站点中,在dataTable中选择和使用POJO时,不使用转换器。在引擎盖下发生了什么,使得不必将对象转换为字符串,反之亦然?

  3. 如果可以将POJO从Facelets传递到没有转换器的辅助bean,为什么在使用selectOneMenu和SelectManyMenu组件时需要定义转换器?

0 个答案:

没有答案