我使用seam-gen创建了一个接缝应用程序。保存并点击 Status.xhtml 表单中的完成按钮后,导航到 StatusList.xhtml 页面时出现以下错误。
错误是:
PWC2785:无法序列化会话属性org.jboss.seam.CONVERSATION#21 $ navigationBean for session 7800870138c191edf3d23718a68e
java.io.NotSerializableException:com.sitestuff.admin.NavigationBean
以下代码是为 Status.xhtml
中的完成按钮编写的<s:button id="done" value="Done"action="#{statusHome.viewRecord}"/>
和viewRecord
方法是:
public String viewRecord() {
getInstance();
String rtValue = null;
if (instance.getTextKey() != null) {
rtValue = "/StatusList.xhtml?textKey=" + instance.getTextKey() +"?doSearch=1";
} else {
rtValue = "/StatusList.xhtml";
}
return rtValue;
}
我正在尝试将特定的textkey字段作为参数传递给字符串,因为我有一个过滤条件,并且只想在 StatusList.xhtml 表单上显示特定的textkey记录。
有谁能告诉我出了什么问题以及为什么会出现错误?
提前致谢。
此致
答案 0 :(得分:0)
看起来你有Richfaces(我假设你正在使用它)配置为序列化会话状态,而“com.sitestuff.admin.NavigationBean”不是Serializable。
检查该bean /类是否实现了serializable。像
这样的东西public class NavigationBean implements java.io.Serializable { ... }
我还假设你在使用NavigationBean的pages.xml上有一些规则,或者你有一些触发器在NavigationBean上触发了什么。
最近我在使用状态序列化时遇到了这个问题,希望它有所帮助。