re bonjour,
Je veux utiliser un scriptlet dans ma page JSP pour effectuer une condition sur une valeur de la propriété de mon ActionForm :lol:
Comment puis-je obtenir l'instance de l'ActionForm lié à ma page ?
D'avance merci.
TSalm
Version imprimable
re bonjour,
Je veux utiliser un scriptlet dans ma page JSP pour effectuer une condition sur une valeur de la propriété de mon ActionForm :lol:
Comment puis-je obtenir l'instance de l'ActionForm lié à ma page ?
D'avance merci.
TSalm
Tu veux parler de l'actionForm qui est passé en request de la page A (qui contient le formulaire) à la page B (et récuperer ta valeur dans B).
Ou lorsque tu es sur la page A (avec le formulaire) et récupérer une valeur sur le formulaire?
Car je ne vois pas trop ce que tu essayes de faire et ou est ton probleme; ;)
:D
celui que j'ai déclaré dans struts-config.xml par un
si je faitCode:<form-bean name="nomDeTonFormBean" type="tonPackage.UnForm"/>
ne fonctionne pasCode:
1
2
3
4 if (nomdeTonFormBean.getNomProperty() == null) { ... }
alors pour ce que tu veux faire il vaut mieux utiliser les logic de struts:
<logic:empty name="ton_form" property="ta_property" >
...............
</logic:empty>
ou logic:equals
oui mais ... http://www.developpez.net/forums/sho...=283309&page=2 ;)
Mais qu'est ce qui est génant à utiliser une scriptlet ?
Peut-on avoir accés à ce ActionForm via une scriptlet ?
dans un scriptlet je ne sais pas si tu peux récupérer le form aussi facilement.
Mais ce que tu peux faire qui sera aussi très simple :
et ensuiteCode:
1
2 <bean:define id="test" name="ton_form" property="ta_property" />
Code:
1
2
3
4
5
6
7
8
9
10 <% if (test == null){ ................. } %>
Salut, il me semble que si la propriété de la form est null, le tag bean:define renverra une exception non ?
Ah ca je ne sais pas. Si c'est le cas il le verra très vite. Et ca serait plutot génant, lol!
exacte David :
Code:
1
2javax.servlet.ServletException: Define tag cannot set a null value
Essaye de trouver ton form dans request ou session, tout depend comment tu as config ton struts-config.
Jpense qu'il doit y etre mais bon c'est pas super comme solution quand on fait du struts.
Autre solution dans ton getter de ta property tu fais le teste "if ==null" et si c'est null tu renvoi une valeur (autre que null) qui t'indiquera que ta valeur est null comme ca le bean:define ne plantera pas.
Voilà mes dernieres idées après si les 2 la ne marche pas ou ne te plaise pas ben je sais plus quoi te proposer.
Il faut que tu passes par une action pour initialiser ton bean, une fois qu'il est initialisé tu peux y accéder en faisantsi il est de scope request, ouCode:request.getAttribute("nomFormBean");
si il est stocké dans la session.Code:request.getSession.getAttribute("nomFormBean");
whaouuu merci !