Аннотации JSF 2 с Websphere 7 (JEE5, JAVA 1.6) - PullRequest
1 голос
/ 17 мая 2010

В настоящее время я пишу простое приложение JSF 2 для WAS 7. Когда я определяю бин через face-config.xml, все отлично работает

<managed-bean>
     <managed-bean-name>personBean</managed-bean-name>
     <managed-bean-class>com.prototype.beans.PersonBean</managed-bean-class>
     <managed-bean-scope>request</managed-bean-scope>
</managed-bean>

Когда я пытаюсь использовать приведенные ниже аннотации, приложение перестает работать.

package com.prototype.beans;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

@ManagedBean(name="personBean")
@RequestScoped
public class PersonBean {
....
}

Я установил загрузчик классов WAS на Parent Last и подтвердил в журналах, что Mojarra 2.x загружается.

[5/17/10 10:46:59:399 CDT] 00000009 config        I   Initializing Mojarra 2.0.2 (FCS b10) for context '/JSFPrototype'

Однако, когда я пытаюсь использовать приложение (которое работало с конфигурацией на основе XML), я вижу следующее

[5/17/10 10:48:08:491 CDT] 00000016 lifecycle     W   /pages/inputname.jsp(16,7) '#{personBean.personName}' Target Unreachable, identifier 'personBean' resolved to null
    org.apache.jasper.el.JspPropertyNotFoundException: /pages/inputname.jsp(16,7) '#{personBean.personName}' Target Unreachable, identifier 'personBean' resolved to null

Кто-нибудь знает, что происходит не так?

Ответы [ 2 ]

1 голос
/ 17 мая 2010

Похоже, я решил свою проблему (снова). Проблема выглядит так, как будто она была вызвана неправильным расположением / конфигурацией схемы в конфигурации лиц. Вот то, что я использую сейчас, и, похоже, работает.

<?xml version="1.0"?>
<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
          version="2.0">
</faces-config>
0 голосов
/ 04 августа 2011

имя бина должно быть именем вашего класса бобов поэтому измените beanName в Face-config.xml как <managed-bean-name>PersonBean</managed-bean-name>

...