Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| javaee:td3 [2013/11/19 19:48] – [Restructuration de l'index] jcheron | javaee:td3 [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 187: | Ligne 187: | ||
| ==== Script.js ==== | ==== Script.js ==== | ||
| - | Associer les items du menu aux actions en *.do en modifiant le fichier script.js : | + | Associer les items du menu aux actions en *.do (méthodes de la classe **MainController**) |
| <sxh javascript; | <sxh javascript; | ||
| run=function(obj){ | run=function(obj){ | ||
| Ligne 199: | Ligne 199: | ||
| Modifier les ids des éléments du menu, pour les faire correspondre aux actions (méthodes du contrôleur) : | Modifier les ids des éléments du menu, pour les faire correspondre aux actions (méthodes du contrôleur) : | ||
| - | <sxh html; | + | <sxh html; |
| <div id=" | <div id=" | ||
| <ul id=" | <ul id=" | ||
| - | <li id=" | + | <li id=" |
| - | <li id="frmUpdateUser" class=" | + | <li id="updateUser" class=" |
| - | <li id="frmDeleteUser" title=" | + | <li id="deleteUser" |
| <li class=" | <li class=" | ||
| <li class=" | <li class=" | ||
| Ligne 217: | Ligne 217: | ||
| ==== Ajout d'un utilisateur ==== | ==== Ajout d'un utilisateur ==== | ||
| contrôleur **addUser**, | contrôleur **addUser**, | ||
| - | <sxh java; | + | <sxh java; |
| /** | /** | ||
| * Ajout d'un utilisateur | * Ajout d'un utilisateur | ||
| Ligne 242: | Ligne 242: | ||
| Contrôleur **login**, en remplacement de **action/ | Contrôleur **login**, en remplacement de **action/ | ||
| - | <sxh java; | + | <sxh java; |
| /** | /** | ||
| * Connexion à l' | * Connexion à l' | ||
| Ligne 252: | Ligne 252: | ||
| PrintWriter out=getOut(response); | PrintWriter out=getOut(response); | ||
| HttpSession session=getSession(request); | HttpSession session=getSession(request); | ||
| - | |||
| SessionApp sessionApp=Utils.getSessionApp(session); | SessionApp sessionApp=Utils.getSessionApp(session); | ||
| Utils.setOut(sessionApp, | Utils.setOut(sessionApp, | ||
| Ligne 263: | Ligne 262: | ||
| if(!sessionApp.isUserLogIn()) | if(!sessionApp.isUserLogIn()) | ||
| request.setAttribute(" | request.setAttribute(" | ||
| - | printMe(request, | + | else |
| - | + | out.print(JSFormsUtils.get(" | |
| + | printMe(request, | ||
| } | } | ||
| </ | </ | ||
| Ligne 272: | Ligne 272: | ||
| Contrôleur **printMe**, | Contrôleur **printMe**, | ||
| - | <sxh java; | + | <sxh java; |
| - | /** | + | |
| * Affichage de l' | * Affichage de l' | ||
| * si aucun utilisateur n'est connecté | * si aucun utilisateur n'est connecté | ||
| Ligne 291: | Ligne 291: | ||
| cmd.run(); | cmd.run(); | ||
| out.print("< | out.print("< | ||
| + | out.print(JSFormsUtils.getAndBindTo("# | ||
| }else | }else | ||
| - | if(request.getMethod().equalsIgnoreCase(" | + | if(isPost(request) && request.getAttribute(" |
| login(request, | login(request, | ||
| - | |||
| } | } | ||
| - | else | + | else{ |
| - | loadView(" | + | loadView(" |
| - | out.print(JSFormsUtils.getAndBindTo("#btDisconnect", " | + | out.print(JSFormsUtils.postFormAndBindTo("#btnSubmit", " |
| + | } | ||
| } | } | ||
| </ | </ | ||
| Ligne 376: | Ligne 377: | ||
| === Contrôleur index === | === Contrôleur index === | ||
| - | Le contrôleur index correspond à la page d' | + | Le contrôleur index correspond à la page d' |
| + | Il utilise le contrôleur **ajaxMain**, | ||
| - | <sxh java; | + | <sxh java; |
| /** | /** | ||
| - | | + | |
| + | * appel possible via ajax | ||
| * @param request | * @param request | ||
| * @param response | * @param response | ||
| * @throws IOException | * @throws IOException | ||
| */ | */ | ||
| - | public void index(HttpServletRequest request, | + | public void ajaxMain(HttpServletRequest request, |
| PrintWriter out=getOut(response); | PrintWriter out=getOut(response); | ||
| - | loadView(" | ||
| out.print("< | out.print("< | ||
| printMe(request, | printMe(request, | ||
| + | out.print("</ | ||
| if(isLogIn(request)){ | if(isLogIn(request)){ | ||
| loadView(" | loadView(" | ||
| Ligne 397: | Ligne 400: | ||
| } | } | ||
| - | out.print(" | + | } |
| - | + | </sxh> | |
| + | |||
| + | <sxh java; | ||
| + | loadView("mainPages/ | ||
| + | | ||
| loadView(" | loadView(" | ||
| } | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Modification d' | ||
| + | La modification se fait en trois étapes : | ||
| + | - Choix de l' | ||
| + | - Affichage de l' | ||
| + | - Post du formulaire et modification de l' | ||
| + | |||
| + | === Vues === | ||
| + | <sxh html; | ||
| + | <%@page import=" | ||
| + | <%@page import=" | ||
| + | <%@page import=" | ||
| + | <%@ page language=" | ||
| + | pageEncoding=" | ||
| + | <form name=" | ||
| + | <% | ||
| + | SessionApp sessionApp=Utils.getSessionApp(session); | ||
| + | out.print(ConvertToHtml.mapToSelect(sessionApp.getApplication().getLesUtilisateurs(), | ||
| + | %> | ||
| + | </ | ||
| + | <input type=" | ||
| + | <div id=" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <sxh html; | ||
| + | <%@page import=" | ||
| + | <%@page import=" | ||
| + | <%@page import=" | ||
| + | <%@ page language=" | ||
| + | pageEncoding=" | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | <form name=" | ||
| + | <input type=" | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | |||
| + | </ | ||
| + | <input type=" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | === Contrôleur updateUser === | ||
| + | |||
| + | <sxh java; | ||
| + | public void updateUser(HttpServletRequest request, HttpServletResponse response) throws IOException{ | ||
| + | PrintWriter out=getOut(response); | ||
| + | if(isPost(request)){ | ||
| + | if(GET(request," | ||
| + | | ||
| + | request.setAttribute(" | ||
| + | loadView(" | ||
| + | out.print(JSFormsUtils.postFormAndBindTo("# | ||
| + | }else{ | ||
| + | if(GET(request," | ||
| + | Utilisateur user= GatewaySession.getOneUser(request, | ||
| + | user.setName(GET(request," | ||
| + | user.setFirstName(GET(request, | ||
| + | user.setLastName(GET(request, | ||
| + | out.print(" | ||
| + | out.print(JSFormsUtils.setHtml(" | ||
| + | out.print(JSFormsUtils.get(" | ||
| + | } | ||
| + | } | ||
| + | }else{ | ||
| + | loadView(" | ||
| + | out.print(JSFormsUtils.postFormAndBindTo("# | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Utilitaires ==== | ||
| + | |||
| + | === Dans MainController === | ||
| + | Pour simplifier le test sur l' | ||
| + | |||
| + | <sxh java; | ||
| + | /** | ||
| + | * Retourne vrai si l' | ||
| + | */ | ||
| + | protected boolean isLogIn(HttpServletRequest request){ | ||
| + | SessionApp sessionApp=Utils.getSessionApp(request); | ||
| + | return sessionApp.isUserLogIn(); | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | === WRequest === | ||
| + | Pour faciliter la récupération d' | ||
| + | |||
| + | <sxh java; | ||
| + | package web.technics; | ||
| + | |||
| + | import javax.servlet.http.HttpServletRequest; | ||
| + | |||
| + | public class WRequest { | ||
| + | /** | ||
| + | * Retourne le paramètre de nom parameterName de la requête | ||
| + | * @param request requête HTTP | ||
| + | * @param parameterName nom du paramètre | ||
| + | * @return | ||
| + | */ | ||
| + | public static String GET(HttpServletRequest request, | ||
| + | return request.getParameter(parameterName); | ||
| + | } | ||
| + | /** | ||
| + | * Retourne le paramètre de nom parameterName de la requête et retourne defaultValue si le paramètre n'est pas trouvé | ||
| + | * @param request requête HTTP | ||
| + | * @param parameterName nom du paramètre | ||
| + | * @param defaultValue valeur par défault | ||
| + | * @return paramètre de la requête | ||
| + | */ | ||
| + | @SuppressWarnings(" | ||
| + | public static <T> T GET(HttpServletRequest request, | ||
| + | T result; | ||
| + | String p=request.getParameter(parameterName); | ||
| + | if(p==null) | ||
| + | result= defaultValue; | ||
| + | else{ | ||
| + | try{ | ||
| + | result=(T)request.getParameter(parameterName); | ||
| + | }catch(Exception e){ | ||
| + | result= defaultValue; | ||
| + | } | ||
| + | } | ||
| + | return result; | ||
| + | } | ||
| + | /** | ||
| + | * Retourne l' | ||
| + | * @param request requête HTTP | ||
| + | * @param attributeName nom de l' | ||
| + | * @return | ||
| + | */ | ||
| + | public static Object GETAttr(HttpServletRequest request, | ||
| + | return request.getAttribute(attributeName); | ||
| + | } | ||
| + | /** | ||
| + | * Retourne l' | ||
| + | * @param request requête HTTP | ||
| + | * @param attributeName nom de l' | ||
| + | * @param defaultValue valeur par défault | ||
| + | * @return | ||
| + | */ | ||
| + | @SuppressWarnings(" | ||
| + | public static <T> T GETAttr(HttpServletRequest request, | ||
| + | T result=(T)request.getAttribute(attributeName); | ||
| + | if(result==null) | ||
| + | result= defaultValue; | ||
| + | return result; | ||
| + | } | ||
| + | } | ||
| + | |||
| </ | </ | ||