2010-11-30 3 views
2

Как было предложено пользователем еще раз в другом вопросе, мне нужно ввести компонент в другой компонент.JSF - проблема с впрыском боба

Таким образом, я делаю следующее:

@ManagedBean 
@RequestScoped 
public class Articles { 
    private String selectedMenu; 

    @ManagedProperty(value="#{user}") 
    private UserManager user; 

    @PostConstruct 
    public void init() { 
     if(selectedMenu==null || selectedMenu.trim().isEmpty()) { 
      this.selectedMenu="0"; 
     } 
    } 

    // now here i should access to user.methods 

    // getter and setter 
} 

На самом деле, я не могу получить доступ к данным UserManager. Я получаю эти ошибки:

БРАУЗЕРАmalformedXML: INVALID_STATE_ERR: Dom Exception 11

SERVER LOG 30-nov-2010 15.36.58 javax.faces.component.UIViewRoot$ViewMap put AVVERTENZA: Setting non-serializable attribute value into ViewMap: (key: profileSelector, value class: model.ProfileSelector) 30-nov-2010 15.36.59 com.sun.faces.mgbean.BeanManager preProcessBean GRAVE: JSF will be unable to create managed bean articles when it is requested. The following problems where found: - Property user for managed bean articles does not exist. Check that appropriate getter and/or setter methods exist. 30-nov-2010 15.36.59 com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback visit GRAVE: com.sun.faces.mgbean.ManagedBeanCreationException: Unable to create managed bean articles. The following problems were found: - Property user for managed bean articles does not exist. Check that appropriate getter and/or setter methods exist.

Если я комментарий @ManagedProperty(value="#{user}") и private UserManager user; чем я не вижу каких-либо ошибок. Вот в чем проблема. Что я не так?

Приветствия

+0

где вы видите эту ошибку точно? – 2010-11-30 14:24:38

+0

Я вижу эту ошибку, когда я пытаюсь получить доступ к этому компоненту! – markzzz 2010-11-30 14:29:25

ответ

5

malformedXML: INVALID_STATE_ERR: Дом Исключение 11

Этот XML-ошибка указывает на ошибку в представление (или XHTML), а не в бобе. Я не понимаю, почему произошла эта ошибка, но, вероятно, у вас довольно сложное дерево компонентов с несколькими атрибутами rendered, из которых один зависит от свойства user, которое вызвало неправильное состояние в дереве XML на стороне клиента.

Что касается серверных журналов:

AVVERTENZA: Установка значение несериализуемой атрибута в ViewMap: (ключ: profileSelector, значение класса: model.ProfileSelector)

Это не обязательно вредит, но чтобы исправить это, вы должны позволить классу реализовать java.io.Serializable.

public class ProfileSelector implements Serializable {} 

Таким образом, сервер будет иметь возможность передавать экземпляр по сети и/или хранить экземпляр на жестком диске, а не в памяти всякий раз, когда это необходимо (когда сервер перезагружается или помещается в кластере серверов).


30-ноября-2010 15.36.59 com.sun.faces.mgbean.BeanManager preProcessBean МОГИЛА: JSF будет не в состоянии создать управляемые статьи боба при запросе. Следующие проблемы, если найдено: - Свойство пользователя для управляемых компонентов bean-объектов не существует. Убедитесь, что существуют соответствующие методы получения и/или сеттера.

Это самоочевидное также. Убедитесь, что для свойства user управляемых компонентов имеются правильные методы getter/setter с именем articles.

@ManagedBean 
@RequestScoped 
public class Articles { 

    @ManagedProperty(value="#{user}") 
    private UserManager user; 

    public UserManager getUser() { 
     return user; 
    } 

    public void setUser(UserManager user) { 
     this.user = user; 
    } 

} 

Вы можете при необходимости разрешить вашу IDE автогенерировать их. В Eclipse проверьте раздел Source в контекстном меню rightclick (Alt + Shift + S).


30-ноября-2010 15.36.59 com.sun.faces.context.PartialViewContextImpl $ PhaseAwareVisitCallback Визит МОГИЛА: com.sun.faces.mgbean.ManagedBeanCreationException: Невозможно создать управляемые статьи боба. Были найдены следующие проблемы: - Свойство пользователя для управляемых компонентов bean-объектов не существует. Убедитесь, что существуют соответствующие методы получения и/или сеттера.

У этой проблемы возникает та же проблема.

Смежные вопросы