Jsf 2 Openfaces数据表问题:引发异常(com.sun.&x200B;faces.face&&x200B;lets.compi&&x200B;ler.UIInst&&x200B;指令)

Jsf 2 Openfaces数据表问题:引发异常(com.sun.&x200B;faces.face&&x200B;lets.compi&&x200B;ler.UIInst&&x200B;指令),jsf-2,facelets,openfaces,state-saving,Jsf 2,Facelets,Openfaces,State Saving,我在weblogic服务器12c上运行的web应用程序中使用myfaces 2.1.10 faces引擎以及openfaces 3.1(openfaces-3.1.EA1.1198.jar)。 web应用程序正在使用facelets模板加载页眉/内容/页脚页面(.xhtml) 在内容页面中,我放置了一个输入文本字段和一个搜索按钮以及openfaces的datatable。当我输入要搜索的文本,然后单击搜索按钮时,系统返回一些数据 并填充我放在同一页面中的openfaces数据表组件,但当我再次尝

我在weblogic服务器12c上运行的web应用程序中使用myfaces 2.1.10 faces引擎以及openfaces 3.1(openfaces-3.1.EA1.1198.jar)。 web应用程序正在使用facelets模板加载页眉/内容/页脚页面(.xhtml)

在内容页面中,我放置了一个输入文本字段和一个搜索按钮以及openfaces的datatable。当我输入要搜索的文本,然后单击搜索按钮时,系统返回一些数据 并填充我放在同一页面中的openfaces数据表组件,但当我再次尝试搜索时,我得到了如下粘贴的异常。我相信这个问题是由openfaces数据表引起的 因为当我用jsf datatable替换时,一切都很好。我必须使用OpenFacesDataTable,因为它适合分页、过滤等方面的要求

为了清楚起见,我粘贴了web.xml和内容页(rolemantenance.xhtml)中的代码片段

提前感谢您的帮助和支持

web.xml:
此错误是由禁用的部分状态保存导致的。如果从
web.xml

<context-param>
    <param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
    <param-value>false</param-value>
</context-param>
<context-param>
    <param-name>javax.faces.FULL_STATE_SAVING_VIEW_IDS</param-name>
    <param-value>/pages/roleMaintenance.xhtml</param-value>
</context-param>
面配置中

  <component>
    <component-type>org.richfaces.OutputPanel</component-type>
    <component-class>com.example.UIOutputPanelWorkaround</component-class>
  </component>

org.richfaces.OutputPanel
com.example.ui输出面板解决方案

这个bug似乎已经向OpenFaces as报告了,但似乎没有任何进展。您可能希望对其进行评论/投票以推动它。或者只是打开部分状态保存。无论您认为禁用部分状态保存可以解决什么问题,都可能需要以不同的方式解决。

此错误是由禁用的部分状态保存引起的。如果从
web.xml

<context-param>
    <param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
    <param-value>false</param-value>
</context-param>
<context-param>
    <param-name>javax.faces.FULL_STATE_SAVING_VIEW_IDS</param-name>
    <param-value>/pages/roleMaintenance.xhtml</param-value>
</context-param>
面配置中

  <component>
    <component-type>org.richfaces.OutputPanel</component-type>
    <component-class>com.example.UIOutputPanelWorkaround</component-class>
  </component>

org.richfaces.OutputPanel
com.example.ui输出面板解决方案

这个bug似乎已经向OpenFaces as报告了,但似乎没有任何进展。您可能希望对其进行评论/投票以推动它。或者只是打开部分状态保存。无论您认为禁用部分状态保存可以解决什么问题,都可能需要以不同的方式解决。

感谢您提出的宝贵建议。事实上,我确实尝试了所有不同的选项,比如删除web.xml中的“部分状态保存”条目,但没有成功的结果。当我使用weblogic应用程序服务器版本11gR1而不是12c时,问题得到了解决,我想这与12c版本打包的j2ee JAR版本有关。感谢您的宝贵建议。事实上,我尝试了所有不同的选项,比如删除web.xml中的“部分状态保存”条目,但没有成功。当我使用weblogic应用程序服务器版本11gR1而不是12c时,问题得到了解决,我想这与12c版本打包的j2ee JAR版本有关。
public class UIOutputPanelWorkaround extends UIOutputPanel
{
  public boolean isKeepTransient() {
    Boolean value = (Boolean) getStateHelper().eval(Properties.keepTransient, false);
    return value;
  }
}
  <component>
    <component-type>org.richfaces.OutputPanel</component-type>
    <component-class>com.example.UIOutputPanelWorkaround</component-class>
  </component>