在JSF2.0中使用对话框编辑Datatable
我目前正在JSF2.0中运行我的web应用程序,它也在使用Primefaces 2.2RC2 我知道primefaces使您能够拥有可编辑的行,但对于我的项目,我更希望用户单击表中的commandButton,显示一个对话框,其中预先填充了特定的行值,并且用户可以通过这种方式编辑行 我实现此功能的唯一方法是在包含commandButton的列中,将该行内容作为参数传递,如下例所示:在JSF2.0中使用对话框编辑Datatable,jsf,jsf-2,primefaces,Jsf,Jsf 2,Primefaces,我目前正在JSF2.0中运行我的web应用程序,它也在使用Primefaces 2.2RC2 我知道primefaces使您能够拥有可编辑的行,但对于我的项目,我更希望用户单击表中的commandButton,显示一个对话框,其中预先填充了特定的行值,并且用户可以通过这种方式编辑行 我实现此功能的唯一方法是在包含commandButton的列中,将该行内容作为参数传递,如下例所示: <p:dataTable var="car" value="#{myBean.cars}" id="carL
<p:dataTable var="car" value="#{myBean.cars}" id="carList">
<h:column>
<h:inputText value="#{car.id}" style="width:100%"/>
</h:column>
<h:column>
<h:inputText value="#{car.name}" style="width:100%"/>
</h:column>
<h:column>
<h:commandButton actionListener=#{myBean.updateRow} onsuccess="editCardDialog.show()" >
<f:param name="carId" value=#{car.id} />
<f:param name="carName" value=#{car.name} />
</h:commandButton>
</h:column>
...
</p:dataTable>
然后在对话框中,我将只引用那些临时变量
<p:dialog>
<h:inputText value=#{myBean.tempCarId} />
<h:inputText value=#{myBean.tempCarName} />
</p:dialog>
我不确定这样做是否正确。我的直觉告诉我这不是因为必须在Bean中创建临时变量以便将它们传递给对话框,这似乎是非常多余的。有人知道一种更简洁的方法吗?这样我就不必在我的支持bean中创建一百万个临时变量了 只需将下面对话框中的OutputExt替换为InputExt即可 或
<p:dialog>
<h:inputText value=#{myBean.tempCarId} />
<h:inputText value=#{myBean.tempCarName} />
</p:dialog>