What URL do you enter to get the exception?
Regards -- Ćukasz + 48 606 323 122 http://www.lenart.org.pl/ 2013/6/26 Fabian Richter <frich...@mtg.de>: > Hello all, > > I am faily new with struts, and to get a grip on the mechanics I volunteered > to migrate one of our applications from Webwork to struts2 latest. > > So far I made progress, the application is not only running but also > rendered some UI in the browser. > > But I have exceptions like > > The Struts dispatcher cannot be found. This is usually caused by using > Struts tags without the associated filter. Struts tags are only usable when > the request has passed through its servlet filter, which initializes the > Struts dispatcher needed for this tag. - [unknown location] > at org.apache.struts2.views.jsp.TagUtils.getStack(TagUtils.java:60) > at > org.apache.struts2.views.jsp.StrutsBodyTagSupport.getStack(StrutsBodyTagSupport.java:44) > at > org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:48) > > On every action I do on the website. > > I am always calling actions (as far as I know) so no .jsp pages directly. > > My web.xml looks like: > > -------%< SNIP ------------ > > <filter> > <filter-name>appFilter</filter-name> > <filter-class>own.ApplicationFilter</filter-class> > </filter> > > <filter> > <filter-name>struts-prepare</filter-name> > > <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class> > </filter> > <filter> > <filter-name>struts-execute</filter-name> > > <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</filter-class> > </filter> > > <filter> > <filter-name>sitemesh</filter-name> > > <filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class> > </filter> > > <filter-mapping> > <filter-name>appFilter</filter-name> > <url-pattern>*.html</url-pattern> > </filter-mapping> > > <filter-mapping> > <filter-name>struts-prepare</filter-name> > <url-pattern>/*</url-pattern> > </filter-mapping> > > <filter-mapping> > <filter-name>sitemesh</filter-name> > <url-pattern>/*</url-pattern> > <dispatcher>REQUEST</dispatcher> > <dispatcher>FORWARD</dispatcher> > <dispatcher>INCLUDE</dispatcher> > </filter-mapping> > > <filter-mapping> > <filter-name>struts-execute</filter-name> > <url-pattern>/*</url-pattern> > </filter-mapping> > > <listener> > <listener-class>own.StartupListener</listener-class> > </listener> > > <listener> > > <listener-class>org.apache.struts2.dispatcher.ng.listener.StrutsListener</listener-class> > </listener> > > <listener> > > <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> > </listener> > > > <servlet> > <servlet-name>sitemesh-freemarker</servlet-name> > > <servlet-class>org.apache.struts2.sitemesh.FreemarkerDecoratorServlet</servlet-class> > <init-param> > <param-name>default_encoding</param-name> > <param-value>UTF-8</param-value> > </init-param> > <load-on-startup>1</load-on-startup> > </servlet> > > <servlet-mapping> > <servlet-name>sitemesh-freemarker</servlet-name> > <url-pattern>*.ftl</url-pattern> > </servlet-mapping> > > <servlet> > <servlet-name>JspSupportServlet</servlet-name> > > <servlet-class>org.apache.struts2.views.JspSupportServlet</servlet-class> > <load-on-startup>1</load-on-startup> > </servlet> > > -------%< SNIP ------------ > > The rest of the file is simple configuration. I thought by calling the > org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter right after my > AppFilter (which handles cert based authentification) I would already be > calling the Struts Dispatcher, but apparently thats where I'm wrong? > > Thank you for your help to a newbie! > > Best > Fabian > --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org