DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ· RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=36130>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ· INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=36130 Summary: Multiple forwards through dispatch actions finds old parameter value Product: Struts Version: 1.1 Final Platform: PC OS/Version: Windows XP Status: NEW Severity: normal Priority: P2 Component: Standard Actions AssignedTo: dev@struts.apache.org ReportedBy: [EMAIL PROTECTED] I've experienced twice now where a page is submitted to an action, the action forwwards to a forward whose path is another action *with* a dispatch parameter (i.e. /client.do?dispatch=saveClient), and during this action, it returns another forward to a dispatch action (/main.do?dispatch=afterClientWork). During the execute method of the base DispatchAction, the call to get the dispatch parameter, request.getParameter(...), returns the original dispatch value ("saveClient"), not the most recent ("afterClientWork"). Upon examining the query string, I find it to be appended: "dispatch=saveClient&dispatch=afterClientWork". I'm not certain what the Servlet spec means when its says that forward/include should "merge" the query string of the requested URL into the request (for the lifetime of the forward/include), but on WebSphere 5, it is appending it. And when the DispatchAction calls getParameter, it is received the first parameter value with that name, not the most recent. In my particular use case, each of the actions in the chain could return forwards to other pages, but in the best case scenario, furhter user ineraction can be skipped, resulting in one action just forwarding to the next. Also, I can't break this up with redirects because this will ultimately live in a Portal, and portlets can't send redirects. If parameter order can be guaranteed, then DispatchAction could be changed to return the last "dispatch" parameter instead of the first. If not, then perhaps RequestProcessor could be altered to recognized forwards to local, non- redirect action mappings and invoke them programatically? This latter options seems awful. -- Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]