Can somebody give me a helping hand or some advice concerning the problem mentioned below?
Dirk Forchel wrote: > > I know this might not be the right place for posting my problem. Probably > the Struts - User forum might be the better place. But I don't get the > feeling, that this issue is the right place for this forum. > Here is a short explanation about my yet unsolved problem: > > First of all I use Struts 2.0.14, Tiles 2 and Tomcat 6.0.16. > I have a search form like ... > > <s:form action="search"> > <s:textfield name="searchString" value="%{searchString}"/> > <s:submit /> > </s:form> > > defined in a form.search.jsp which is included in different pages > (actually I use tiles 2), e.g. welcome.jsp, product.jsp, category.jsp and > on the search.result.jsp as well (which displays the result list). > I have a base action called ForwardAction which does nothing more than > rendering the HTML pages with all the used properties and additionaly put > each HTTP request on a defined stack (e.g. /welcome.action, > /category.action, /product.action, /searchResult.action but not the > actually search itself, cos this is not a "forward"). The definition in > struts.xml looks like > > <action name="welcome" class="com.foo.ForwardAction"> > <result type="tiles">welcomePage</result> > </action> > > The SearchResultAction extends the ForwardAction and does some additional > work with the search result list (pagination, sorting etc.) > > <action name="searchResult" class="com.foo.SearchResultAction"> > <result type="tiles">searchResultPage</result> > </action> > > The search action itself is defined as > > <action name="search" class="com.foo.SearchAction"> > <result type="redirect-action">searchResult</result> > <result name="input" type="dispatcher">${referer}</result> > </action> > > and searches with the given search term for known products on a database. > Now my problem ... > If a validation error occurs on my search form (a missing search term), > the ValidationInterceptor would intercept the action invocation and would > dispatch/forward to the ${referer} defined as "input" result. My > SearchAction implements the Prepareable interface and set the "referer" > property in my prepare method: > > @Override > public void prepare() throws Exception { > referer = request.getHeader( "Referer" ); > if (referer==null) > referer = request.getContextPath(); > } > > If a validation error occurs on my welcome page, the dispatcher should go > to the welcome page (referer = http://localhost:9001/welcome.action). If I > have a validation error on the category page, the dispatcher for the input > result should go to http://localhost:9001/category.action. If I search on > my search result page with the same form and the same search action the > input dispatcher should go to http://localhost:9001/searchResult.action. I > think this is a quite common doing that on a web application. > But I got always the following HTTP 404 error. I reckon this has something > to do with the application server (in my case Tomcat 6.0.16), the > RequestDispatcher (ApplicationRequestDispatcher) and the Servlet context > path. If I use a context path "/" for my web app, the error is the > following. > > HTTP Status 404 - //https:/localhost:9001/welcome.action > > type Status report > > message //https:/localhost:9001/welcome.action > > description The requested resource > (//https:/localhost:9001/welcome.action) is not available. > > If I use "" as context path, the resource > "/https:/localhost:9001/welcome.action" is not available. If I would > return a "static" URL like /jsp/pages/welcome.jsp the forward works fine. > What could be wrong? Where do I miss the peace of cake? > > In my web.xml I have the following filter definition: > > <filter> > <filter-name>struts</filter-name> > > <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> > </filter> > > <filter-mapping> > <filter-name>struts</filter-name> > <url-pattern>/*</url-pattern> > </filter-mapping> > > Thank You for your help. > -- View this message in context: http://www.nabble.com/ServletDispatcherResult-%28dispatcher%29-and-forwarding-to-Actions-tp20964129p21000068.html Sent from the Struts - Dev mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org For additional commands, e-mail: dev-h...@struts.apache.org