Hi Try using this:
<link rel="stylesheet" href="<s:url value="/css/subsite.css"/>" type="text/css"/> On Mon, Feb 22, 2010 at 11:01 AM, Jim Kennedy <jgkenn...@mindspring.com>wrote: > OK, this is solved, but I'm not sure why changing this line of code solved > the problem. I will explain. > > I have a page called default.jsp and it contains the form as shown in my > previous email. This page/form has never had an issue displaying. I only > see the error stack trace when I submit the form causing validation to > fire. > In the head of this page I have the following: > > <link href="css/subsite.css" rel="stylesheet" type="text/css" /> > > This is the line causing the issue because the path is wrong (I guess???). > When I change the line to > > <link href="../css/subsite.css" rel="stylesheet" type="text/css" /> > > my logs are clean and the problem disappears (since the href is corrected). > Very odd why a simple html tag like <link /> causes issues with struts. > And, Yes, the 2nd version of the link tag is correct because I am not > deploying off the root. > > Anyone know why this could happen. thanks > > -----Original Message----- > From: Jim Kennedy [mailto:jgkenn...@mindspring.com] > Sent: Sunday, February 21, 2010 6:37 PM > To: 'Struts Users Mailing List' > Subject: InvalidPathException processing form > > I have a fairly simple form at this point and I am getting the above > referenced exception when validation fails. Full exception is at the > bottom > of this email. When my servlet-mapping is set to /run/* I get this > exception in my logs, but application seems to work. If I change my > servlet-mapping to something like *.do and the form action to /quick.do, > the > application continues to work and I DON'T get the exception. These don't > look critical, but I am not used to seeing this type of > exception/error/warning and want to understand what is going on here. > > It should be perfectly acceptable for me to use either technique. I am > using struts 1.3.10. > > web.xml: > <!-- Standard Action Servlet Configuration --> > <servlet> > <servlet-name>action</servlet-name> > > <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> > <init-param> > <param-name>config</param-name> > <param-value>/WEB-INF/struts-config.xml</param-value> > </init-param> > <load-on-startup>2</load-on-startup> > </servlet> > > > <!-- Standard Action Servlet Mapping --> > <servlet-mapping> > <servlet-name>action</servlet-name> > <url-pattern>/run/*</url-pattern> > </servlet-mapping> > > struts.xml: > <form-beans> > > <form-bean name="quickSearchForm" > type="com.rentworx.subsite.sc.struts.QuickSearchForm"/> > > </form-beans> > > <!-- =========================================== Action Mapping Definitions > --> > > <action-mappings> > <!-- Default "Welcome" action --> > <!-- Forwards to Welcome.jsp --> > <action > path="/Welcome" > forward="/welcome.jsp"/> > > <action > path="/search**" > type="com.rentworx.subsite.sc.struts.SearchAction"> > <forward name="results" path="/idxresults.jsp" /> > </action> > > <action > path="/idx/*" > > type="com.rentworx.subsite.sc.struts.IDXSearchAction"> > <forward name="results" path="/idxresults.jsp" /> > </action> > > <action > path="/quick" > > type="com.rentworx.subsite.sc.struts.ProcessSearchAction" > name="quickSearchForm" > scope="request" > input="/default.jsp" > validate="true"> > <forward name="results" > path="/results.jsp"></forward> > </action> > > </action-mappings> > > > default.jsp: > <div class="error"><html-el:errors /></div> > <html:form action="/quick" method="post" > > > <div><bean-el:message key="searchform.city.prompt" > />: > <html-el:text property="city" title="enter > city name"></html-el:text> > </div> > <div class="error"><html-el:errors property="city" > header="" footer="" prefix="" suffix=""/></div> > > <div style="margin-top:5px">county name: > <html-el:text property="county" title="enter city > name"></html-el:text></div> > <div class="error"><html-el:errors property="county" > header="" footer="" prefix="" suffix=""/></div> > > <html-el:submit value="search"></html-el:submit> > </html:form> > > > Exception: > > **************************************************************************** > ********* > 2010-02-21 18:34:23,273 WARN > [org.apache.struts.chain.commands.AbstractExceptionHandler] Unhandled > exception > org.apache.struts.chain.commands.InvalidPathException: No action config > found for the specified url. > at > > org.apache.struts.chain.commands.AbstractSelectAction.execute(AbstractSelect > Action.java:71) > at > > org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase > .java:51) > at > org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) > at > > org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:30 > 5) > at > org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) > at > > org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequest > Processor.java:283) > at > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) > at > org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > FilterChain.java:290) > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > ain.java:206) > at > > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.ja > va:96) > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > FilterChain.java:235) > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > ain.java:206) > at > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja > va:230) > at > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja > va:175) > at > > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssoci > ationValve.java:182) > at > > org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java: > 84) > at > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127 > ) > at > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102 > ) > at > > org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnecti > onValve.java:157) > at > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java > :109) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) > at > > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http > 11Protocol.java:583) > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) > at java.lang.Thread.run(Thread.java:595) > 2010-02-21 18:34:23,304 WARN > [org.apache.struts.chain.commands.ExceptionCatcher] Exception from > exceptionCommand 'servlet-exception' > org.apache.struts.chain.commands.InvalidPathException: No action config > found for the specified url. > at > > org.apache.struts.chain.commands.AbstractSelectAction.execute(AbstractSelect > Action.java:71) > at > > org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase > .java:51) > at > org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) > at > > org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:30 > 5) > at > org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) > at > > org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequest > Processor.java:283) > at > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) > at > org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > FilterChain.java:290) > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > ain.java:206) > at > > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.ja > va:96) > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > FilterChain.java:235) > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > ain.java:206) > at > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja > va:230) > at > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja > va:175) > at > > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssoci > ationValve.java:182) > at > > org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java: > 84) > at > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127 > ) > at > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102 > ) > at > > org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnecti > onValve.java:157) > at > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java > :109) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) > at > > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http > 11Protocol.java:583) > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) > at java.lang.Thread.run(Thread.java:595) > 2010-02-21 18:34:23,335 ERROR > > [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/sc].[actio > n]] Servlet.service() for servlet action threw exception > org.apache.struts.chain.commands.InvalidPathException: No action config > found for the specified url. > at > > org.apache.struts.chain.commands.AbstractSelectAction.execute(AbstractSelect > Action.java:71) > at > > org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase > .java:51) > at > org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) > at > > org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:30 > 5) > at > org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) > at > > org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequest > Processor.java:283) > at > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) > at > org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > FilterChain.java:290) > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > ain.java:206) > at > > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.ja > va:96) > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > FilterChain.java:235) > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > ain.java:206) > at > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja > va:230) > at > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja > va:175) > at > > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssoci > ationValve.java:182) > at > > org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java: > 84) > at > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127 > ) > at > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102 > ) > at > > org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnecti > onValve.java:157) > at > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java > :109) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) > at > > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http > 11Protocol.java:583) > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) > at java.lang.Thread.run(Thread.java:595) > > > --------------------------------------------------------------------- > 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 > >