Jsf 2 完成操作,然后更新表jsf
我想要的是Jsf 2 完成操作,然后更新表jsf,jsf-2,primefaces,Jsf 2,Primefaces,我想要的是commandButton应该首先完成操作,然后更新dataTable,但实际上它是在执行操作之前更新dataTable。有人能建议怎么做吗?。谢谢 <p:dataTable id="files" var="file" value="#{tableBean.lstFiles}" rowKey="#{file.fname}" selection="# {tableBean.selectedFile}" selectionMode="single" >
commandButton
应该首先完成操作,然后更新dataTable
,但实际上它是在执行操作之前更新dataTable
。有人能建议怎么做吗?。谢谢
<p:dataTable id="files" var="file" value="#{tableBean.lstFiles}" rowKey="#{file.fname}" selection="#
{tableBean.selectedFile}" selectionMode="single" >
<p:ajax event="rowSelect" listener="#{tableBean.onRowSelect}" />
<p:ajax event="rowUnselect" listener="#{tableBean.onRowUnselect}"/>
<p:column headerText="Date"> #{file.fname}</p:column>
<p:column headerText="Type"> #{file.ftype}</p:column>
<p:column headerText="Date"> #{file.fdate}</p:column>
<p:column headerText="View File" >
<p:commandButton id="folder" action="#{folderName.name}" value="Open" update=":form2:files" icon="ui-icon-arrowthichk-s" >
<f:setPropertyActionListener target="#{folderName.foldername}" value="#{file.fname}" />
</p:commandButton>
</p:column>
</p:dataTable>
#{file.fname}
#{file.ftype}
#{file.fdate}
看看这个。您的actionListener应该首先执行您是如何确认这是真正发生的事情的?@Darka感谢您的帮助,但我想要的是button click file.fname应该是tableBean类的实例变量的新值,actionListener没有帮到我。@kolossus我正在使用system.out.println语句查看执行。你的意思是它呈现数据表,然后执行操作还是什么?Standart JSF生命周期(简化,不是所有阶段)是这样工作的:检索更改的值+转换它们->验证->更新模型值->执行业务逻辑(操作在此处执行)->呈现响应