我的网页有此代码
<h:form id="formTipoGeneracion"
enctype="multipart/form-data">
<p:growl id="mensajesCargaArchivos"
showDetail="true"/>
<p:fileUpload mode="simple"
value="#{generador.archivoSeleccionado}"/>
<br/>
<p:commandButton value="Agregar"
ajax="false"
action="#{generador.doAgregarArchivo}"/>
<p:dataTable id="dtArchivos"
var="archivo"
emptyMessage="No se ha cargado ningun archivo en el servidor."
value="#{generador.archivos}">
<p:column>
<f:facet name="header">
<h:outputText value="Nombre del archivo"/>
</f:facet>
<h:outputText value="#{archivo}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Quitar archivo?"/>
</f:facet>
<p:commandLink value="[ X ]" update="@form"
action="#{generador.doEliminarArchivo(archivo)}"/>
</p:column>
</p:dataTable>
</h:form>
我有一个很大的疑问,当我让<p:commandLink ... update="@form" .../>
表正确更新其数据但如果我有<p:commandLink ... update="dtArchivos" .../>
(而不是渲染整个表单只是渲染 DataTable)表上的信息不会更新。
为什么会这样?工具:PrimeFaces 3.3、Mojarra 2.1.6、Tomcat 7.0.14 Bean的作用域:ViewScope