J2EE Struts problème <bean:write>

Fermé
philog - 22 févr. 2008 à 14:27
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 - 29 avril 2008 à 09:42
Bonjour,
Voila je suis débutant en J2EE avec Struts + Hibernate et je n'arrive pas à afficher un objet user dans ma page jsp en utilisant <bean:write>

J'ai une erreur type:
org.apache.jasper.JasperException: Cannot find bean: "usa" in scope: "session"


Voici le code de ma page jsp:

Code :


<bean:define id="usa_id" name="usa" scope="session" type="test.javabeans.Usager"/>

<bean:write name="usa_id" property="nom"/><br>
<bean:write name="usa_id" property="prenom"/><br>



et le code de mon UsagerAction

Code :

public class UsagerAction extends Action {

public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception{

UsagerDAO user = new HibernateDAOFactory().getUsagerDAO();

DynaValidatorForm dynaForm = (DynaValidatorForm) form;

request.getSession().setAttribute("usa",user.findUsagerDAO(dynaForm.getString("nom")));

return mapping.findForward("affiche");
}


}
J'ai déja testé un insert et un affichage complet de ma table: ca fonctionne
Par contre, avec ma méthode findUsagerDAO(...) qui me retourne un objet type Usager, je n'arrive pas à l'afficher...?
Je dois surement faire une erreur dans la déclaration de mon <bean:write> ou dans l'envoi de mon objet user....
Si quelqu'un à une solution ? merci d'avance...

3 réponses

kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
22 févr. 2008 à 15:43
Bonjour,

Pour ma part j'ai plus l'habitude d'utiliser <nested:write> plutot que <bean:write>
Si tu essai de remplacer :

<bean:define id="usa_id" name="usa" scope="session" type="test.javabeans.Usager"/>

<bean:write name="usa_id" property="nom"/><br>
<bean:write name="usa_id" property="prenom"/><br> 


Par :


<nested:present name="usa">
        <nested:write name="usa" property="nom"/>
        <nested:write name="usa" property="prenom"/>
</nested:present>


ça donne quoi ?

Sinon, il est peut être possible que la fonction findUsagerDAO() retourne la valeur null (non trouvé par rapport à ce que retourne dynaForm.getString(&q­uot;nom")) et du coup ton bean n'est pas instancié en session.
Pour vérifier ça essai de mettre une trace du genre dans ta fonction :
if ( user.findUsagerDAO(dynaForm.getString("nom")) == null )
     System.out.println("NOT FOUND");
request.getSession().setAttribute("usa",user.findUsagerDAO(dynaForm.getString(&q­uot;nom"))); 

1
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
29 avril 2008 à 09:42
Bonjour,

Quel sorte d'erreur est ce que tu as à la compilation, peux-tu mettre cette erreur ici pour qu'on la voit.
Sans ça on ne pourra rien pour toi.
0
zoubir6600 Messages postés 2 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 28 avril 2008
28 avril 2008 à 22:44
bonjour
chuis debutan avaec java struts et la ou j'etudi le prof ns oblige d'utilisé my sql et appach je les instalé g le vista et g des problem dans la compilation
donc veuillez m'xpliqé d'ou arrive les problem et de koi me conseillez vous
merci
-2