Tomcat/Struts: simple login form shows errors when accessed 1st time
From: Brian O. Bush (brianobush_at_yahoo.com)
Date: 01/08/04
- Previous message: kaiwing18_at_hotmail.com: "Connection problem with database"
- Next in thread: Brian O. Bush: "Re: Tomcat/Struts: simple login form shows errors when accessed 1st time"
- Reply: Brian O. Bush: "Re: Tomcat/Struts: simple login form shows errors when accessed 1st time"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: 8 Jan 2004 01:41:29 -0800
All.
I have a login jsp page, and when i first access it the errors are
displayed. I thought that the bean was only validated upon submit? Is
there something else going on with the loginForm bean that i have
defined in the struts-config.xml. Another page I have does the same
thing..., and everything works fine, except for the fact that the user
sees error messages prior to doing anything.
Any help would be great!
Thanks, Brian
----------------------------------------------------------------
login.jsp:
...
<html:form action="/login" focus="username">
...
<html:text property="username" size="24" maxlength="18"/>
<html:errors property="username"/></td>
...
<html:password property="password" size="24" maxlength="18"
redisplay="false"/>
<html:errors property="password"/></td>
...
<html:submit><bean:message key="button.submit"/></html:submit>
</html:form>
----------------------------------------------------------------
validation.xml:
<form-validation>
<formset>
<form name="loginForm">
<field property="username"
depends="required, minlength, maxlength,
email">
<arg0 key="forms.login.username"/>
<arg1 key="${var:minlength}" name="minlength"
resource="false"/>
<arg2 key="${var:maxlength}" name="maxlength"
resource="false"/>
<var>
<var-name>maxlength</var-name>
<var-value>16</var-value>
</var>
<var>
<var-name>minlength</var-name>
<var-value>3</var-value>
</var>
</field>
...
</form>
</formset>
</form-validation>
----------------------------------------------------------------
struts-config.xml:
<form-beans>
<form-bean name="loginForm"
type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="username" type="java.lang.String"/>
<form-property name="password" type="java.lang.String"/>
</form-bean>
</form-beans>
...
<action path="/login"
type="com.blah.actions.LoginAction"
input="main.loginForm"
scope="session"
name="loginForm">
<forward name="next" path="index" />
</action>
----------------------------------------------------------------
com.blah.actions.LoginAction:
execute(...){
...
if (valid) {
HttpSession session = request.getSession();
if (session != null) {
session.setAttribute(Constants.USER_KEY, user);
}
} else {
errors.add(ActionErrors.GLOBAL_ERROR,
new ActionError("action.error.login"));
return(mapping.getInputForward());
}
...
return(mapping.findForward(Constants.NEXT));
- Previous message: kaiwing18_at_hotmail.com: "Connection problem with database"
- Next in thread: Brian O. Bush: "Re: Tomcat/Struts: simple login form shows errors when accessed 1st time"
- Reply: Brian O. Bush: "Re: Tomcat/Struts: simple login form shows errors when accessed 1st time"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]