Andy, We had this issue before ... can you do email me the struts-config.xml ? i think the PATH in forward name is not correct <action ....> <forward name="SUCCCESS" path="/index.jsp"> <forward name="FAIL" path="/login.jsp"> </action>
----- Original Message ----- From: "Andy" <[EMAIL PROTECTED]> To: "Tomcat Users List" <tomcat-user@jakarta.apache.org> Sent: Thursday, May 26, 2005 5:00 PM Subject: RE: <html:errors/> blank page on invalid form > > Guru and Nikola, > > Thanks for the suggestions, having looked at this again, I think this is a > Struts problem however, so I've posted to struts-users. > > Thanks anyway, > > Andy. > > >-----Original Message----- > >From: Gurumoorthy [mailto:[EMAIL PROTECTED] > >Sent: 26 May 2005 08:37 > >To: Tomcat Users List > >Subject: Re: <html:errors/> blank page on invalid form > > > > > >hello > > <html:form action="/SubmitLogonForm.do"> is wrong > > <html:form action="/SubmitLogonForm"> > > > >Regards > >Guru > > > >----- Original Message ----- > >From: "Nikola Milutinovic" <[EMAIL PROTECTED]> > >To: "Tomcat Users List" <tomcat-user@jakarta.apache.org> > >Sent: Thursday, May 26, 2005 6:04 AM > >Subject: Re: <html:errors/> blank page on invalid form > > > > > >> Andy wrote: > >> > >> >Hi All, > >> > > >> >I'm unable to output any errors using <html:errors/> tag, in Tomcat > >> >5.5.7 I've tried numerous configurations and have now ran out of > >patience. > >> >As I haven't been using Struts for more than three days I hope somebody > >> >more experienced can point help me out. > >> > > >> >When I select Submit, entering data into my form fields so the form is > >> >parsed as valid, the forward works correctly. When I leave the fields > >> >empty, so the form is parsed as invalid, I just get an empty page back - > >> >which must be generated by Struts as it doesn't match any HTML I have. > >> > > >> > > >> > >> Check out the logs, you could be running into an exception. Also, set > >> buffer size of 20kb on all your pages, while you're testing. Empty > >> output can also be caused by an exception in the page itself, and buffer > >> being already sent. > >> > >> >Here is what I have in various files - > >> > > >> > >>------------------------------------------------------------------ > >--------- > >- > >> >---- > >> > > >> >logon.jsp - > >> > > >> ><%@ page contentType="text/html;charset=UTF-8" language="java" %> > >> ><%@ taglib uri="/tags/struts-bean" prefix="bean" %> > >> ><%@ taglib uri="/tags/struts-html" prefix="html" %> > >> ><html> > >> ><head> > >> ><title><bean:message key="logon.title"/></title> > >> ></head> > >> ><body> > >> ><html:errors/> > >> ><html:form action="/SubmitLogonForm.do"> > >> > <table> > >> > <tr> > >> > <td>Username</td> > >> > <td><html:text property="username"/></td> > >> > </tr> > >> > <tr> > >> > <td>Password</td> > >> > <td><html:text property="password"/></td> > >> > </tr> > >> > <tr> > >> > <td> > >> > <html:submit/> > >> > <html:cancel/> > >> > </td> > >> > <td></td> > >> > </tr> > >> > </table> > >> ></html:form> > >> > > >> ></body> > >> > > >> > > >> > >> Looks fine, except for the buffer page directive. > >> > >> >In LogonAction.java - > >> > > >> > > >> > public ActionForward execute(ActionMapping mapping, ActionForm form, > >> > HttpServletRequest request, > >> >HttpServletResponse response) > >> > throws Exception { > >> > > >> > if (isCancelled(request)) { > >> > log.debug("cancel pressed"); > >> > return mapping.findForward(Constants.FAILURE); > >> > } > >> > > >> > > >> > >> Why would you consider "Cancel" a failure? Not that it will not work, > >but... > >> > >> > LogonForm logonForm = (LogonForm)form; > >> > log.debug("username "+logonForm.getUsername()); > >> > log.debug("password "+logonForm.getPassword()); > >> > > >> > return mapping.findForward(Constants.SUCCESS); > >> > } > >> > > >> > > >> > >> You're not checking the login, but that's fine for a test. > >> > >> >In LogonForm.java (I have getters/setters for HTML fields, and a reset > >> >method, > >> >not shown) - > >> > > >> > public ActionErrors validate(ActionMapping actionMapping, > >> >HttpServletRequest httpServletRequest) { > >> > > >> > log.debug("validate"); > >> > ActionErrors errors = new ActionErrors(); > >> > > >> > if > >> >(FormUtils.isNullOrEmpty(httpServletRequest.getParameter("username"))) { > >> > log.debug("logon.form.username.invalid"); > >> > errors.add(ActionErrors.GLOBAL_MESSAGE,new > >> >ActionMessage("logon.form.username.invalid")); > >> > } > >> > > >> > > >> > >> You don't need to use GLOBAL_MESSAGE, that is wrong, I think. And use > >> errors, not messages. My validation would read: > >> > >> errors.add( "username", new ActionError( "logon.form.username.invalid")); > >> > >> Nix. > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > > > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]