Ошибка при передаче параметра в URL навигации по странице - PullRequest
0 голосов
/ 09 ноября 2011

Я создал приложение seam, используя seam-gen. Я получаю сообщение об ошибке ниже при переходе на страницу StatusList.xhtml после сохранения и нажатия кнопки Готово в форме Status.xhtml .

Ошибка:

PWC2785: Невозможно сериализовать атрибут сеанса org.jboss.seam.CONVERSATION # 21 $ navigationBean для сеанса 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;
}

Я пытаюсь передать конкретное поле текстового ключа в качестве параметра в строке, так как у меня есть условие фильтра и хочу отображать только определенные записи текстового ключа в StatusList.xhtml форме.

Может кто-нибудь сказать мне, что происходит неправильно и почему возникает ошибка?

Заранее спасибо.

С уважением,

1 Ответ

0 голосов
/ 11 ноября 2011

Похоже, у вас есть Richfaces (я предполагаю, что вы используете его), настроенный на сериализацию состояния сеанса, и что com.sitestuff.admin.NavigationBean не Serializable.

Проверьте, если этот bean /класс реализует сериализуемый.Что-то вроде

public class NavigationBean implements java.io.Serializable { ... }

Я также предполагаю, что у вас есть какое-то правило на pages.xml, которое использует NavigationBean, или что у вас есть некоторые перехватчики, которые запускают что-то в NavigationBean.

У меня была эта проблемасовсем недавно при игре с государственной сериализацией надеюсь, что она поможет.

...