Bonjour,
Voici une question assez bête... Je ne parvient pas à trouver comment accéder aux éléments contenus dans la page en cours depuis l'Action qui lui est liée.
Merci
Haëlle
Version imprimable
Bonjour,
Voici une question assez bête... Je ne parvient pas à trouver comment accéder aux éléments contenus dans la page en cours depuis l'Action qui lui est liée.
Merci
Haëlle
Bonjour,
Peux-tu préciser ta question/ton besoin ?
Tu parles d'accéder à des éléments graphiques ? A des saisies utilisateurs ?
Celà serait pour récupérer les éléments graphiques.
L'idée étant de changer le contenu de "value" dans les <html:text> à la suite d'une action.
Ok alors la réponse est plutôt on ne peut pas...
L'action n'accède pas à la jsp.
Cela dit dans ce cas c'est juste que tu prend le problème dans le mauvais sens à mon avis : l'attribut value du tag html:text est utilisé pour une valeur par défaut (quand il trouve null). Ce tag doit plutot être utilisé avec name/property. Dans ce cas la valeur sera associé soit à un formulaire struts, soit à un bean en requete ou en session.
=> Tu doit pouvoir t'en sortir avec un truc du style :
dans la jsp, et pour l'action :Code:<html:text name="monTexte" />
Code:request.setAttribute("monTexte", "le texte à passer");
Voilà un bout de code de ma jsp, et quand je rajoute "name="test"" eh bien la page est blanche... >_<'Code:
1
2
3
4
5
6
7
8
9 <html:form action="mandateflow_result"> <div class="entry"> <table id="searchFilter"> <tbody> <tr> <td class="cell1"><bean:message key="mandateflow.lineNumber"/></td> <td class="cell2"><html:text name="test" property="lineNumber" style="width: 160px;" size="10" /></td> ...
j'ai comme erreur tomcat :
Cannot find bean: "test" in any scope
mais je ne sias pas l'interpréter...
Ca veut dire qu'il ne trouve rien dans "test".
En gros dans l'action il devrait y avoir quelque part le code suivant :
Avec monBean une instance d'un bean contenant au moins une propriété (+ les getter/setter) "lineNumber".Code:request.setAttribute("test", monBean);
Sachant qu'il te met qu'il ne le trouve pas "in any scope" puisque tu pourrais aussi faire :
(ou dans ta page jsp avec pageContext.setAttribute(...))Code:request.getSession().setAttribute("test", monBean);
Ok merci, c'est bien comme ça qu'il faut faire.
De rien ;)
Penses à passer le sujet à :resolu: