Jsf 2 java.io.NotSerializableException-org.omnifaces.taghandler.Converter

Jsf 2 java.io.NotSerializableException-org.omnifaces.taghandler.Converter,jsf-2,converter,myfaces,omnifaces,notserializableexception,Jsf 2,Converter,Myfaces,Omnifaces,Notserializableexception,我有一个应用程序在JBoss6上使用Primefaces 3.5和Omnifaces 1.5,使用myfaces 2.1.5 在尝试使用o:converter时,我得到以下错误 org.omnifaces.taghandler.Converter viewId=/xhtml/propelModules/initiatePropel.xhtml location=C:\jboss-6.1.0.Final\server\default\deploy\PropelEAR.ear\PropelWeb.

我有一个应用程序在JBoss6上使用Primefaces 3.5和Omnifaces 1.5,使用myfaces 2.1.5

在尝试使用
o:converter
时,我得到以下错误

org.omnifaces.taghandler.Converter

viewId=/xhtml/propelModules/initiatePropel.xhtml
location=C:\jboss-6.1.0.Final\server\default\deploy\PropelEAR.ear\PropelWeb.war\xhtml\propelModules\initiatePropel.xhtml
phaseId=RENDER_RESPONSE(6)

Caused by:
java.io.NotSerializableException - org.omnifaces.taghandler.Converter
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
有关守则是

<p:selectManyCheckbox value="#{initiatePropelManagedBean.currentWon.selectedEmployeeList}" 
  layout="pageDirection">
<o:converter converterId="omnifaces.ListIndexConverter" 
      list="#{initiatePropelManagedBean.currentWon.employeeList}" />
     <f:selectItems value="#{initiatePropelManagedBean.currentWon.employeeList}"
       var="emp" itemLabel="#{emp}" itemValue="#{emp}" />
     <p:ajax process="@this" update="employeeCount"></p:ajax>
</p:selectManyCheckbox>

我可以重现您的问题。这是MyFaces2.1.5中的一个bug。我找不到相关的bug报告和修复版本,但我至少可以告诉你,在当前最新的MyFaces 2.1.12中,这个构造对我来说很好。因此,升级MyFaces也应该为您做到这一点


与具体问题无关这里的转换策略有些奇怪。只需使用
omnifaces。选择ItemsConverter
omnifaces。选择ItemsIndexConverter
(如果
员工
实体上没有好的
equals()
)就足够了

<p:selectManyCheckbox ... converter="omnifaces.SelectItemsIndexConverter">
    <f:selectItems value="#{initiatePropelManagedBean.currentWon.employeeList}" />
</p:selectManyCheckbox>

SelectItems(Index)转换器
并不严格要求作为模型的
列表
,它只需要视图中的
列表(索引)转换器
用于不使用
的组件,如


如果由于某种原因无法升级MyFaces,这将是另一种解决方案。

是否使用客户端状态保存?是。这是一个问题吗?不,我只是想知道您是如何发现它的,因为唯一的其他方法是等待会话序列化。我不确定,但这实际上可能是全方位的疏忽。我相信巴卢斯克很快就会看的:)谢谢。SelectItems(索引)转换器也工作得很好。无法尝试使用myfaces 2.1.12,因为下载在工作中被阻止:(myfaces 2.3.4的问题与此相同。我检查了更新版本的发行说明,但没有提及有关此问题的修复。知道如何修复@BalusC吗?