all properties (that are common) are copied from the source action to the target action.
musachy On Fri, Dec 19, 2008 at 3:04 PM, Dirk Forchel <dirk.forc...@exedio.com> wrote: > > This result type invokes an entire other action, complete with it's own > interceptor stack and result. As you can read here > (http://struts.apache.org/2.x/docs/action-chaining.html), it is not > recommended. I need the dispatcher result to forward to another action with > the same interceptor stack (if validation fails, the error message or field > error message is important to mee and to the user as well). I don't > understand why this quite common task isn't possible in Struts 2. I did this > all the time with Struts 1. Any other idea how to solve my problem??? > > > Nils-Helge Garli wrote: >> >> In that case, I'm out of ideas. If referrer always is an action, have >> you tried using the chain result type instead? Probably needs a bit >> more parsing of the action and namespace (or look it up from the >> action invocation) though. >> >> Nils-H >> >> On Fri, Dec 19, 2008 at 11:59 AM, Dirk Forchel <dirk.forc...@exedio.com> >> wrote: >>> >>> Good guess. I've added both attributes to my web.xml. But it doesn't work >>> either. If the context path (Tomcat server.xml) of my webapp is "" the >>> result is >>> >>> HTTP Status 404 - /welcome.action >>> type Status report >>> message /welcome.action >>> description The requested resource (/welcome.action) is not available. >>> >>> If I change the context path to "/" in my server.xml the result is: >>> >>> HTTP Status 404 - //welcome.action >>> type Status report >>> message //welcome.action >>> description The requested resource (//welcome.action) is not available. >>> >>> If I would change the context path to "/demo", the error would be: >>> >>> HTTP Status 404 - /demo/welcome.action >>> type Status report >>> message /demo/welcome.action >>> description The requested resource (/demo/welcome.action) is not >>> available. >>> >>> Any other idea what's going on here? Maybe something with the >>> RequestDispatcher class? >>> >>> >>> Nils-Helge Garli wrote: >>>> >>>> I think the error is in your web.xml. Try adding >>>> >>>> <dispatcher>REQUEST</dispatcher> >>>> <dispatcher>FORWARD</dispatcher> >>>> >>>> in the filter mapping configuration for the struts 2 filter. >>>> >>>> Nils-H >>>> >>>> On Fri, Dec 19, 2008 at 10:38 AM, Dirk Forchel <dirk.forc...@exedio.com> >>>> wrote: >>>>> >>>>> Here is my riddle: Why does a dispatch forward to an absolute URL-path >>>>> e.g. >>>>> "http://localhost:9001/welcome.action" not work. Using a relative URL >>>>> like >>>>> "/welcome.action" doesn't work either. Only something dispatch forwards >>>>> like >>>>> "/jsp/pages/welcome.jsp" or similiar (a relative URL with a JSP >>>>> resource) >>>>> works for me. >>>>> But I wanna use Tiles and therefore a forward to an "Action" rather >>>>> than >>>>> a >>>>> JSP. I have a search form included in various and different pages >>>>> (different >>>>> JSPs and Tiles-definitions). If input validation fails on my search >>>>> action, >>>>> the field error should be displayed on the same page the input error >>>>> occured. >>>>> The seach form is used on almost every page of my web application. >>>>> This problem drives me almost insane!!! >>>>> Everyone can test it by yourself. >>>>> Here is my Test-Configuration (without Tiles) and almost the complete >>>>> code: >>>>> >>>>> >>>>> struts.xml: >>>>> >>>>> <struts> >>>>> <package name="demostore" extends="struts-default"> >>>>> <default-interceptor-ref name="paramsPrepareParamsStack"/> >>>>> >>>>> <default-action-ref name="welcome"/> >>>>> >>>>> <global-results> >>>>> <result name="input">${referer}</result> >>>>> </global-results> >>>>> >>>>> <action name="search" class="com.foo.SearchAction"> >>>>> <result>/jsp/pages/search.result.jsp</result> >>>>> </action> >>>>> >>>>> <action name="*" class="com.foo.action.ForwardAction"> >>>>> <result>/jsp/pages/{1}.jsp</result> >>>>> </action> >>>>> </package> >>>>> </struts> >>>>> >>>>> >>>>> BaseAction.java: >>>>> >>>>> public class BaseAction extends ActionSupport implements >>>>> ServletRequestAware, Preparable >>>>> { >>>>> private String referer; >>>>> protected HttpServletRequest request; >>>>> >>>>> @Override >>>>> public void setServletRequest(HttpServletRequest request) >>>>> { >>>>> this.request = request; >>>>> } >>>>> >>>>> @Override >>>>> public void prepare() throws Exception >>>>> { >>>>> referer = request.getHeader( "Referer" ); >>>>> if (referer==null) >>>>> referer = request.getContextPath(); >>>>> } >>>>> >>>>> public String getReferer() >>>>> { >>>>> // THIS WORKS >>>>> // return "/jsp/pages/welcome.jsp"; >>>>> // THIS DOES'NT WORK >>>>> // return "/welcome.action"; >>>>> // THIS DOESN'T WORK EITHER >>>>> return referer; >>>>> } >>>>> } >>>>> >>>>> ForwardAction.java: >>>>> >>>>> public class ForwardAction extends BaseAction >>>>> { >>>>> public String execute() throws Exception >>>>> { >>>>> addToHistory(getServletRequest()); >>>>> return executeInternal(); >>>>> } >>>>> >>>>> protected void addToHistory(HttpServletRequest request) >>>>> { >>>>> // Request History >>>>> // History.addEntry(request); >>>>> } >>>>> >>>>> protected String executeInternal() throws Exception >>>>> { >>>>> // forward actios should overwrite this method and do some >>>>> additional work >>>>> return SUCCESS; >>>>> } >>>>> } >>>>> >>>>> SearchAction.java: >>>>> >>>>> public class SearchAction extends BaseAction >>>>> { >>>>> private String searchString; >>>>> >>>>> public String execute() throws Exception >>>>> { >>>>> // DO SOME SEARCH >>>>> return SUCCESS; >>>>> } >>>>> >>>>> public void setSearchString(String searchString) >>>>> { >>>>> this.searchString = searchString; >>>>> } >>>>> >>>>> public String getSearchString() >>>>> { >>>>> return searchString; >>>>> } >>>>> } >>>>> >>>>> welcome.jsp: >>>>> >>>>> ... >>>>> <html> >>>>> <head> >>>>> <title>Welcome</title> >>>>> </head> >>>>> <body> >>>>> Welcome >>>>> <s:include value="form.search.jsp" /> >>>>> </body> >>>>> </html> >>>>> >>>>> form.search.jsp: >>>>> >>>>> ... >>>>> <s:form action="search"> >>>>> <label for="searchString"> >>>>> <s:text name="search.term"/> >>>>> </label> >>>>> <s:textfield name="searchString" /> >>>>> <s:submit key="search.submit" /> >>>>> </s:form> >>>>> >>>>> SearchAction-validation.xml: >>>>> ... >>>>> <validators> >>>>> <field name="searchString"> >>>>> <field-validator type="requiredstring"> >>>>> <message key="error.searchstring.required"/> >>>>> </field-validator> >>>>> </field> >>>>> </validators> >>>>> >>>>> That's it. So where is the error? >>>>> >>>>> -- >>>>> View this message in context: >>>>> http://www.nabble.com/Christmas-Riddle-tp21088385p21088385.html >>>>> Sent from the Struts - User mailing list archive at Nabble.com. >>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >>>>> For additional commands, e-mail: user-h...@struts.apache.org >>>>> >>>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >>>> For additional commands, e-mail: user-h...@struts.apache.org >>>> >>>> >>>> >>> >>> -- >>> View this message in context: >>> http://www.nabble.com/Christmas-Riddle-tp21088385p21089437.html >>> Sent from the Struts - User mailing list archive at Nabble.com. >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >>> For additional commands, e-mail: user-h...@struts.apache.org >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >> For additional commands, e-mail: user-h...@struts.apache.org >> >> >> > > -- > View this message in context: > http://www.nabble.com/Christmas-Riddle-tp21088385p21097555.html > Sent from the Struts - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > > -- "Hey you! Would you help me to carry the stone?" Pink Floyd --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org