Dear all, I have a problem when I click a submit button of a page, it doesn't go straight to the next desired page. Here is my little project: Firstly, I want to show you how it supposed to flow: Input page -> Help page
But the problem is it does go to the Help page when I click the submit button on the Input page. Here are the source files: --- input.jsp: ============================================ # cat input.jsp <%@ include file="/html/portlet/struts_redirect_portlet/init.jsp" %> <p align=centre> Hello the INPUT page..... </p> <bean:define id="comment" name="RedirectForm" property="comment" type="java.lang.String" /> <logic:messagesPresent> <span class="es-error"> <bean:message key="error.comment.invalid"/> </span> </logic:messagesPresent> <p align=centre> <html:form action="/struts_redirect_portlet/input" method="post" focus="comment"> <table class="stats"> <tr> <th><bean:message key="form.title.comment"/></th> <th><html:text name="RedirectForm" property="comment" size="50" /></th> </tr> </table> </p> <p align=left> <html:submit><bean:message key="button.submit"/></html:submit> </html:form> </p> --- help.jsp: ============================================= # cat help.jsp <%@ include file="/html/portlet/struts_redirect_portlet/init.jsp" %> <p align=centre> Hello the HelP FORM ??..... </p> <bean:define id="name" name="RedirectHelpForm" property="name" type="java.lang.String" /> <logic:messagesPresent> <span class="es-error"> <bean:message key="error.name.invalid"/> </span> </logic:messagesPresent> <p align=centre> <html:form action="/struts_redirect_portlet/help" method="post" focus="name"> <table class="stats"> <tr> <th><bean:message key="form.title.name"/></th> <th><html:text name="RedirectHelpForm" property="name" size="50" /></th> </tr> </table> </p> <p align=left> <html:submit><bean:message key="button.submit"/></html:submit> </html:form> </p> -- RedirectAction.java: ================================= package com.ip6networks.struts_redirect.portlet; import com.ip6networks.struts_redirect.portlet.RedirectForm; import com.liferay.portal.struts.PortletAction; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import javax.portlet.ActionRequest; import javax.portlet.ActionResponse; import javax.portlet.PortletConfig; import javax.portlet.RenderRequest; import javax.portlet.RenderResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** @struts.action name="RedirectForm" path="/struts_redirect_portlet/input" * scope="session" * input="/portlet/struts_redirect_portlet/input.jsp" * * @struts.action-forward name="input" path="/portlet/struts_redirect_portlet/input.jsp" redirect="true" * @struts.action-forward name="help" path="/portlet/struts_redirect_portlet/help.jsp" redirect="true" */ public class RedirectAction extends PortletAction { public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse res) throws Exception { RedirectForm redirectForm = (RedirectForm) form; String comment = redirectForm.getComment().trim(); if ( comment.length() > 0) { return mapping.findForward("help"); } return mapping.findForward("input"); } public ActionForward render( ActionMapping mapping, ActionForm form, PortletConfig config, RenderRequest req, RenderResponse res) throws Exception { return mapping.findForward("input"); } } --- RedirectForm.java ================================= # cat RedirectForm.java package com.ip6networks.struts_redirect.portlet; import org.apache.struts.validator.ValidatorForm; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; /** * @struts.form name="RedirectForm" */ public class RedirectForm extends ValidatorForm { private String comment=""; public String getComment() {return this.comment;} /** * @struts.validator type="required" msgkey="error.comment.required" */ public void setComment(String c) {this.comment = c;} public void reset(ActionMapping mapping, HttpServletRequest req) { this.comment = ""; } public ActionErrors validate(ActionMapping mapping, HttpServletRequest req) { ActionErrors errors = new ActionErrors(); try{ if (this.comment == null || this.comment.length() < 1) { errors.add("comment", new ActionMessage("error.comment.required")); } } catch(NullPointerException npe){} return errors; } } --- ReidrectHelpAction.java ===================================== # cat RedirectHelpAction.java package com.ip6networks.struts_redirect.portlet; import com.liferay.portal.struts.PortletAction; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.portlet.ActionRequest; import javax.portlet.ActionResponse; import javax.portlet.PortletConfig; import javax.portlet.RenderRequest; import javax.portlet.RenderResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** @struts.action name="RedirectHelpForm" path="/struts_redirect_portlet/help" * scope="session" * input="/portlet/struts_redirect_portlet/help.jsp" * * @struts.action-forward name="help" path="/portlet/struts_redirect_portlet/help.jsp" redirect="true" */ public class RedirectHelpAction extends PortletAction { public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse res) throws Exception { return mapping.findForward("help"); } public ActionForward render( ActionMapping mapping, ActionForm form, PortletConfig config, RenderRequest req, RenderResponse res) throws Exception { return mapping.findForward("help"); } } --- RedirectHelpForm.java ======================================= # cat RedirectHelpForm.java package com.ip6networks.struts_redirect.portlet; import org.apache.struts.validator.ValidatorForm; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; /** * @struts.form name="RedirectHelpForm" */ public class RedirectHelpForm extends ValidatorForm { private String name=""; public String getName() {return this.name;} /** * @struts.validator type="required" msgkey="error.name.required" */ public void setName(String c) {this.name = c;} public void reset(ActionMapping mapping, HttpServletRequest req) { this.name = ""; } public ActionErrors validate(ActionMapping mapping, HttpServletRequest req) { ActionErrors errors = new ActionErrors(); try{ if (this.name == null || this.name.length() < 1) { errors.add("name", new ActionMessage("error.name.required")); } } catch(NullPointerException npe){} return errors; } } --- struts-config.xml: ==================================== <action-mappings> <action path="/struts_redirect_portlet/input" type="com.ip6networks.struts_redirect.portlet.RedirectAction" name="RedirectForm" scope="session" input="/portlet/struts_redirect_portlet/input.jsp" unknown="false" validate="true" > <forward name="input" path="/portlet/struts_redirect_portlet/input.jsp" redirect="true" /> <forward name="help" path="/portlet/struts_redirect_portlet/help.jsp" redirect="true" /> </action> <action path="/struts_redirect_portlet/help" type="com.ip6networks.struts_redirect.portlet.RedirectHelpAction" name="RedirectHelpForm" scope="session" input="/portlet/struts_redirect_portlet/help.jsp" unknown="false" validate="true" > <forward name="help" path="/portlet/struts_redirect_portlet/help.jsp" redirect="true" /> </action> --- validation.xml: =============================== <form name="RedirectHelpForm"> <field property="name" depends="required"> <msg name="required" key="error.name.required"/> <arg0 key="RedirectHelpForm.name"/> </field> </form> <form name="RedirectForm"> <field property="comment" depends="required"> <msg name="required" key="error.comment.required"/> <arg0 key="RedirectForm.comment"/> </field> </form> That s all. I don;t know else I have to show here. Please let me. I am stlll newbie with struts. Your help is certainly very much appreciated. Thanks --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org