The problem is that when the validator returns to the
JSP, it uses the RequestDispatcher to forward to the JSP. It does not redirect to the JSP. The difference is that a forward keeps the URL of the Action class (review.do) while a redirect changes the URL to the JSP being forwarded to (edit.jsp). The down side of a redirect is that it does not pick up the contents of the request object. If you redirect to a JSP from an action class, anything the action class puts in the request is not readable by the JSP.
If you want to change this behavior, you can, but be aware that if you do, anything the action puts in the request (including error messages!) will be lost when the JSP is displayed. You will have to use the session or parameters to pass any data to the JSP.
Having given that warning, here's how you'd do it. First, you have to tell struts that whenever you specify an input for an action, you're using the name of a forward, not a path to a JSP. Example:
Then you specify a forward with a redirect="true" attribute. Example:
Note: The parameters passed to the original JSP will still not get passed using this method unless you specifically retrieve them in the action class and then re-pass them to the JSP.