在JSF应用程序中存在这个问题:
该应用程序在t:dataTable
中包含一些f:ajax
启用的元素,如下所示:
<h:form id="form" enctype="multipart/form-data">
<t:dataTable id="someTable" ...>
...
<f:facet name="header">
<t:commandLink action="#{someBean.someAction()}">
<t:outputText value="Some command"/>
<f:ajax execute="@this" render="someTable"/>
</t:commandLink>
</f:facet>
...
</t:dataTable>
</h:form>
“Some命令”应该执行某些操作并仅刷新“someTable”。
现在问题是:这个场景在 GlassFish 3.1.2 下工作,但在 GlassFish 4.1 下,它有问题如下:
“Some命令”工作正常,并且更新someTable没有任何问题,但someTable(或表内)之外没有其他非ajax操作元素可以工作。 它们有效,但不显示它们的作用,因此当我们刷新页面时,会出现更改。
现在,我尝试按照以下方式制作AJAX:
<f:ajax execute="@this" render="form"/>
一切似乎都运转得很好。
我只需要更新表格,而不是整个表格。
有没有人有解决方案(web.xml配置)或一些提示?
此项目中没有使用PrimeFaces / ICEFaces / RichFaces。
由于
编辑:名称正确(不含:作为前缀或其他任何内容)。完全相同的场景在GlassFish 3.1下完美运行。 我们是否需要查看一些安全设置或其他配置?
EDIT2:正如@Tiny在评论中所说,没有multipart/form-data
它有效,但我们无法进行任何上传。上传不再有效。