2010-05-17 7 views
1

J'écris actuellement une application simple JSF 2 pour 7. Quand je WAS définir le haricot par les faces-config.xml, tout fonctionne très bienJSF 2 avec annotations Websphere 7 (JEE5, JAVA 1.6)

<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> 

Lorsque j'essaie d'utiliser les annotations ci-dessous, l'application échoue.

package com.prototype.beans; 

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

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

J'ai mis WAS classloader au parent dernier, et vérifié dans les journaux que Mojarra 2.x charge.

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

Cependant, lorsque je tente d'utiliser l'application (qui avait travaillé avec XML config base) Je vois ce qui suit

[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 

Tout le monde sait ce qui se passe mal?

Répondre

1

On dirait que j'ai peut-être résolu mon propre problème (encore une fois). Le problème semble provenir d'un emplacement/config de schéma incorrect sur la configuration des faces. Voici ce que j'utilise maintenant, et cela semble fonctionner.

<?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> 
-2

le nom du haricot doit être le nom de votre classe de haricots donc changer beanName dans les faces-config.xml comme <managed-bean-name>PersonBean</managed-bean-name>

+0

Non, vous avez tort. – BalusC