Bon je deviens fous là...
J'apprends Struts ainsi que les taglib struts et j'essaie de me faire un formulaire pour modifier et ajouter des enregistrements à une base. (une table 'departement' dans cet exemple)
Pour avoir ce formulaire j'appelle une action. S'il s'agit d'une modification d'un enregistrement existant, je passe l'id dans l'url (action.do?id=truc)...
Au niveau de l'action, il vérifie si le parametre est present dans l'url et cree un Bean correspondant aux données voulues (le département en question), puis l'enregistre comme attribut dans l'objet request (request.setAttribute). S'il s'agit d'une saisie d'un nouvel enregistrement, l'action ne fait rien et forward à la JSP dans les deux cas.
Mon probleme est maintenant de faire la différence dans le JSP de ce formulaire entre les deux cas (ajout-modif). A ce que j'ai lu, on n'utilise plus de scriptlets, tout doit se faire avec des taglib vrai ?
Donc voila ce que j'ai, naïvement (test de presence du bean en fait )
Code :
- <%@ taglib uri="/tags/struts-html" prefix="html" %>
- <%@ taglib uri="/tags/struts-logic" prefix="logic" %>
- <%@ taglib uri="/tags/struts-bean" prefix="bean" %>
- <html>
- <head>
- <title>Saisie d'un département</title>
- </head>
- <body>
- <h1><logic:present name="departementBean">
- Modification
- </logic:present>
- <logic:notPresent name="departementBean">
- Ajout
- </logic:notPresent> d'un département
- </h1>
- <html:errors />
- <html:form action="/insererDepartement">
- <table>
- <tr>
- <td> Nom: </td>
- <td> <html:text property="departementName" size="50" /> </td>
- </tr>
- <tr>
- <td> Description: </td>
- <td> <html:textarea property="departementDesc" /> </td>
- </tr>
- <tr>
- <td> <html:reset value="Effacer formulaire" /> </td>
- <td> <logic:present name="departementBean">
- <html:hidden property="idDepartement" />
- <html:submit value="Modifier"/>
- </logic:present>
- <logic:notPresent name="departementBean">
- <html:submit value="Ajouter" />
- </logic:notPresent>
- </td>
- </tr>
- </table>
- </html:form>
- </body>
- </html>
|
et voila ce que ca donne:
Le premier test ok: j'ai bien "ajout" dans le titre, le deuxieme non (le bouton comporte le label "modifier" )...
Faut m'expliquer ce que j'ai pas compris
---------------
Posté depuis des chiottes, sales. Me gusta.