I solved it, removing redirect="true" from the action-mapping tag in
struts-config.xml solved it.

Ian.

On 6/8/05, Ian van der Neut <[EMAIL PROTECTED]> wrote:
> Hello all,
> 
> I have a little problem with displaying an "Invalid login" message on
> my login page. I am using tomcat 5.0.28 and struts 1.2.4
> 
> I have a login.jsp that looks like this:
> 
> <html:form action="login">
> <!-- table stuff mostly snipped -->
>     <td><bean:message key="logon.title"/></td>
>     <td><bean:message key="logon.username"/></td>
>     <td><html:text property="userName" value="" /></td>
>     <td><bean:message key="logon.password"/></td>
>     <td><html:password property="password" value="" /></td>
> 
>    <div align="right"><html:submit property="submit">
>     <bean:message key="logon.button.label"/>
>     </html:submit>
> </html:form>
> <html:errors/>
> 
> In my ActionForm, the validate method looks like this:
> 
> public ActionErrors validate(ActionMapping mapping, HttpServletRequest
> request) {
>     ActionErrors errors = new ActionErrors();
>     if (userName == null || userName.length() == 0) {
>           errors.add("username", new 
> ActionMessage("errors.username.required"));
>     }
>     if (password == null || password.length() == 0) {
>          errors.add("password", new 
> ActionMessage("errors.password.required"));
>     }
>     return errors;
> }
> 
> When I leave username or password fields empty, I get the proper error
> messages as I expect, however, in my Action class "LoginAction" I have
> the following code to handel illegal logins:
> 
> if (user != null) {
>     fwd = mapping.findForward(SUCCESS);
>     session.setAttribute("userName", userName);
>     session.setAttribute("user", user);
> } else {
>     ActionMessages errors = new ActionMessages();
>     errors.add(ActionMessages.GLOBAL_MESSAGE, new
> 
> ActionMessage("errors.invalidlogin"));
>     saveMessages(request, errors);
>     fwd = mapping.findForward(ERROR);
>     log.info(userName + " tried to login with invalid credentials.");
> }
> 
> I have the "errors.invalidlogin" in application.properties file:
> errors.invalidlogin=Invalid username and password combination.
> (Other messages in that file are displayed properly, so the file is
> read and found by struts and the servlet container.)
> 
> My struts-config.xml has these relevant tags:
> 
> <form-beans>
> 
>    <form-bean name="LoginForm" type="my.package.LoginForm" />
>    <!-- others snipped -->
>  </form-beans>
> 
> <action path="/login"
>   type="my.package.LoginAction"
>   name="LoginForm"
>   scope="session"
>   input="/login.jsp">
>   <forward name="success" path="/Welcome.do" redirect="true" />
>   <forward name="error" path="/login.jsp" redirect="true" />
> </action>
> 
> Does anybody have a clue as to what I am doing wrong? As far as I can
> see, I'm doing everything the way it is described in the jakarta
> o'reilly book (Cavaness).
> 
> Thank you all very much in advance for any input,
> 
> Ian.
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to