[Struts] - Problème avec un request.setAttribute
Bonjour,
J'ai un petit probleme avec les attributs de request. Je vous expose mon pb.
Dans le perform de mon action j'effectue la chose suivante.
Code:
1 2 3
| String acctName = "Account Name Test";
request.setAttribute("acctName", acctName);
return mapping.findForward("update"); |
avec un forward tel que :
Code:
<forward name="update" path="/account/accountProfile.do" />
et
Code:
1 2 3 4 5 6
| <action path="/account/accountProfile"
type="com.myAppli.action.account.AccountProfileAction"
name="accountProfileForm"
scope="request">
[...]
</action> |
Dans mon action AccountProfileAction je fais un
Code:
accountProfileForm.getAcctName(); --> C'est vide. :o|
en revanche si je fais un code un peu crade :p
Code:
1 2 3 4 5
| String acctName = "Account Name Test";
Map myMap = new HashMap();
myMap.put("acctName", acctName);
String URL = computeURL(request,"/account/accountProfile.do",myMap); //methode formattant bien l'url
response.sendRedirect(URL); |
... dans l'action AccountProfileAction je fais un
Code:
accountProfileForm.getAcctName(); --> je récupère bien "Account Name Test"
C'est sans doute ma méthode request.setAttribute("acctName", acctName); qui n'est pas correct mais je ne vois pas pourquoi ...
Si vous avez une idée, je vous en serais grandement reconnaissant :)
Merci d'avance
Reno.
Re: [Struts] - Problème avec un request.setAttribute
Citation:
Envoyé par renotm
Dans le perform de mon action j'effectue la chose suivante.
Code:
1 2 3
| String acctName = "Account Name Test";
request.setAttribute("acctName", acctName);
return mapping.findForward("update"); |
avec un forward tel que :
Code:
<forward name="update" path="/account/accountProfile.do" />
et
Code:
1 2 3 4 5 6
| <action path="/account/accountProfile"
type="com.myAppli.action.account.AccountProfileAction"
name="accountProfileForm"
scope="request">
[...]
</action> |
Dans mon action AccountProfileAction je fais un
Code:
accountProfileForm.getAcctName(); --> C'est vide. :o|
Pour que ceci fonctionne, il faut initialiser ton formulaire de cette façon :
Code:
1 2 3 4 5
|
String acctName = "Account Name Test";
AccountProfileForm accountProfileForm = (AccountProfileForm) form ;
accountProfileForm.setAcctName(acctName);
return mapping.findForward("update"); |
Ne pas oublier de rajouter dans l'action-mapping de cette action qui initialise le formulaire un name="accountProfileForm" validate="false".