J2EE Struts problème <bean:write>
philog
-
kij_82 Messages postés 4102 Date d'inscription Statut Contributeur Dernière intervention -
kij_82 Messages postés 4102 Date d'inscription Statut Contributeur Dernière intervention -
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...
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...
Configuration: Windows XP Internet Explorer 7.0
3 réponses
-
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("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("nom")));
-
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.
-
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