Struts

Discussions sur le développement de JSP, servlets, et Java en général.

Modérateur : Modérateurs

Avatar de l’utilisateur
laurentw
Membre
Membre
Messages : 33
Inscription : mer. 07 janv. 2004, 14:29
Localisation : Genève Suisse

Messagepar laurentw » jeu. 12 janv. 2006, 20:49

Hello,

J'essaie depuis un moment et sans succès :unsure: d'accéder, depuis un javabean au contenu et méthodes d'un formbean qui est placé dans le scope session (grâce au struts-config.xml.

En résumé, j'aimerai l'enchainement suivant :

1) une jsp qui appelle une action+form bean strut
2) strut forward sur une jsp
3) la jsp accède à un javabean qui lui-même utilise les méthodes du form-bean et ses valeurs qui ont été définies


J'arrive par exemple depuis la jsp à accéder aux propriété du form-bean, mais comment faire pour exécuter un traitement supplémentaire dans un javabean ?

J'ai essayé diverss essai, notamment :

MonFormBean mb = new MonFormBean();

mais cela crée une nouvelle instance, donc les valeurs placée dedans ne sont pas présente !

j'ai essayé de récupérer la session, vu que le formbean est dans le scope session, mais sans succès :

HttpServletRequest request
session=request.getSession();

et après

MonFormBean mb = (MonFormBean)session.getAttribute("MonFormBean")

Impossile !

Quelqu'un a une idée ?

Vu que je débute dans struts, je loupe surement un truc tout simple...

Merci bcp d'avance !

Avatar de l’utilisateur
laurentw
Membre
Membre
Messages : 33
Inscription : mer. 07 janv. 2004, 14:29
Localisation : Genève Suisse

Messagepar laurentw » jeu. 12 janv. 2006, 22:27

En fait plus simple : :rolleyes:

Un javabean peut-il accéder aux objets placés dans la session (HttpSession) ?

et ensuite être utilisé de la manière classique : <jsp:usebean ?

Merci d'avance.

Avatar de l’utilisateur
kurupt1976
Nouveau membre
Messages : 2
Inscription : lun. 23 janv. 2006, 23:32

Messagepar kurupt1976 » lun. 23 janv. 2006, 23:43

salut

utilise tu les taglib de struts ?
par exmeple ca au debut de ta jsp :

<%@taglib uri="/tags/struts-html" prefix="html"%>
<%@taglib uri="/tags/struts-logic" prefix="logic"%>
<%@taglib uri="/tags/struts-bean" prefix="bean"%>

si oui alors tu peux taper : mb

<logic:present name="mb">
traitement : mon bean est present

</logic:present>

ne pas mettre : <jsp:useBean id="mb" class="beans.XX" scope="session"/> car si la page ne trouve pas ton bean elle en creer u nul .

si ton bean n est pas present je pense que ton struts-config.xml n est pas bien paramétré .

ps: tu developpe sous kel logiciel? eclipse ou?

ton serveur c tomcat ?

Avatar de l’utilisateur
laurentw
Membre
Membre
Messages : 33
Inscription : mer. 07 janv. 2004, 14:29
Localisation : Genève Suisse

Messagepar laurentw » mar. 31 janv. 2006, 10:29

Hello, merci.

En fait je travail sou JCreator avec Tomcat 4...

L'idée c'est d'accéder à un formbean depuis une autre bean (il doit accéder aux objets session)...

Avatar de l’utilisateur
volga
Nouveau membre
Messages : 1
Inscription : mer. 15 févr. 2006, 9:07

Messagepar volga » mer. 15 févr. 2006, 9:26

si après

MonFormBean mb = (MonFormBean)session.getAttribute("MonFormBean")

mb est nul, cela signifie simplement que le bean n'est pas enregistré dans la session sous le nom "MonFormBean". Il faut donc vérifier (dans struts-config.xml) :

1) la portée (scope) du bean

2) son nom (name)

Il s'agit des attributs de l'action qui enregistre le bean. name doit évidemment correspondre aussi au nom du bean défini dans <form-bean>.

Une erreur courante consiste à oublier de déclarer le form bean dans

<form-beans>
<form-bean name="nomDuBean" ...


Revenir vers « Java »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités