[STRUTS][Validation] - Validation dans un execute
Bonjour, j ai un petit soucis avec la validation dans Struts...
Supposons un formulaire d'identification basique(login, password)...
Pour le validation, j utilise la methode validate de l'ActionForm dans laquelle j oblige le login et le mot de passe a etre non vides...
Ensuite dans l Action je recupere le login et le mot de passe pour verifier l existence de l utilisateur dans la base de donnée...
A ce moment la, je voudrais envoye une erreur dans le cas d un echec d authentification, comment puis je faire
voici mon code
le struts-config.xml:
Code:
1 2 3 4 5 6 7 8 9
|
<action
path="/Inside"
type="ch.clio.ppc.action.AuthentificationAction"
name="AuthentificationForm"
input="tile.login">
<forward name="ok" path="tile.index"/>
<forward name="nok" path="tile.login"/>
</action> |
l action:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)throws Exception
{
AuthentificationForm af = (AuthentificationForm) form;
ActionMessages messages = new ActionMessages();
try {
//Token creation request
TokenAVO tvo = AuthorizationManager.getToken(af.getLogin(), af.getPass());
request.getSession().setAttribute("tvo", tvo);
} catch (AuthorizationException e) {
//User is not registered
ActionMessage newMessage = new ActionMessage ("error.authentification.login");
messages.add(ActionMessages.GLOBAL_MESSAGE, newMessage);
saveMessages(request, messages);
return mapping.findForward("nok");
}
//Cleaning form
if (mapping.getAttribute() != null)
{
if (mapping.getScope().equals("request"))
{
request.removeAttribute(mapping.getAttribute());
}
else
{
HttpSession session = request.getSession();
session.removeAttribute(mapping.getAttribute());
}
}
return mapping.findForward("ok");
} |
Cela me ramene a la page de login quand le user n existe pas mais je n ai pas de messages d erreurs
Merci d avance