在 JSF 应用程序中存在这个问题:
该应用程序在 a 中包含一些启用的元素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>
“一些命令”应该做一些事情并只刷新“someTable”。
现在的问题是:这种情况在GlassFish 3.1.2下工作,但在GlassFish 4.1下存在以下问题:
“某些命令”可以完美运行,并且可以毫无问题地更新 someTable,但在 someTable 之外(或在 Table 内部)没有其他非 ajax 操作元素有效。它们起作用,但不显示它们的作用,因此当我们刷新页面时,更改就会出现。
现在,我尝试将 AJAX 制作如下:
<f:ajax execute="@this" render="form"/>
一切似乎都运行良好。
我只需要更新表格,而不是整个表格。
有没有人有解决方案(web.xml 配置)或一些提示?
该项目中没有使用 PrimeFaces/ICEFaces/RichFaces。
谢谢
编辑:名称是正确的(没有 : 作为前缀或其他任何内容)。完全相同的场景在 GlassFish 3.1 下完美运行。我们是否需要查看一些安全设置或其他配置?
EDIT2:正如@Tiny 在他的评论中所说,没有multipart/form-data
它的工作,但我们无法进行任何上传。上传不再起作用。