Jsf 带有分页的datatable中的输入将丢失修改后的值
具有可编辑字段和分页的datatable在分页时不会更新控制器中修改的值 控制器具有Omnifaces的ViewScope范围 当我更改表格的页面时,输入的值不会保存在模型中,在执行sumbit时,只发送当前页面的值 xhtml的代码Jsf 带有分页的datatable中的输入将丢失修改后的值,jsf,primefaces,Jsf,Primefaces,具有可编辑字段和分页的datatable在分页时不会更新控制器中修改的值 控制器具有Omnifaces的ViewScope范围 当我更改表格的页面时,输入的值不会保存在模型中,在执行sumbit时,只发送当前页面的值 xhtml的代码 <h:form> <p:messages autoUpdate="true"/> <p:dataTable var="obj" id="tabla" rows="6" paginator=
<h:form>
<p:messages autoUpdate="true"/>
<p:dataTable var="obj" id="tabla"
rows="6" paginator="true"
value="#{pruebaController.lista}">
<p:ajax event="page" process="tabla" update="tabla"/>
<p:column>
<h:outputText value="#{obj.texto}"/>
</p:column>
<p:column>
<p:inputText value="#{obj.valor}"/>
</p:column>
</p:dataTable>
<p:commandButton value="Guardar" update="@all" process="@all" action="#{pruebaController.guardar}"/>
</h:form>
多谢各位
版本
- 基本面:6.0.21或6.1.4
- 莫哈拉:2.2.14
- 全方位:2.6.4
- 焊接:2.4.4.4最终
就可以轻松解决。这将强制该字段更新java后端中的值,避免在页面更改时丢失数据
我的情况是:
<p:column headerText="#{message['label.modeloSplitter.cor']}" rendered="#{modeloSplitterMB.entity.modelo == 'C'}">
<h:selectOneMenu id="corFibras" value="#{item.cor}">
<f:selectItems value="#{corMB.corSelectItems}" />
<p:ajax event="change" />
</h:selectOneMenu>
</p:column>
我认为这将如何解决您的问题:
<p:column>
<p:inputText value="#{obj.valor}"/>
<p:ajax event="change" />
</p:column>
因此,如果删除
进程=“tabla”
?“可编辑数据表”与数据表中的输入不同。。。
<p:column headerText="#{message['label.modeloSplitter.cor']}" rendered="#{modeloSplitterMB.entity.modelo == 'C'}">
<h:selectOneMenu id="corFibras" value="#{item.cor}">
<f:selectItems value="#{corMB.corSelectItems}" />
<p:ajax event="change" />
</h:selectOneMenu>
</p:column>
<p:column>
<p:inputText value="#{obj.valor}"/>
<p:ajax event="change" />
</p:column>