I know...when I have two projects that use the same package namespace for my app source...I get this Action mapping error. Even when one project is "Closed" (in the Eclipse sense). I neglected to mention this previously in describing what I "changed" to make things work. There is still a 'fragility' that has crept into the Struts2.1.3-SNAPSHOT regarding dispatcher filters and actions. I would really like to setup Struts2.1.x as a Maven2 enabled MyEclipse project and explore things with a debugger. Maybe this weekend... too damn hot and humid to do much else.
-John On Wed, Jul 30, 2008 at 6:10 AM, Pauli Savolainen < [EMAIL PROTECTED]> wrote: > Hi, > > I "fixed" the problem by reverting back to 2.1.1-SNAPSHOT version with > struts core and all the plugins. Changing eclipse to 5.0 is really not > a solution for me, so I couldn't do that. I wonder what in 2.1.2 makes > my program not work anymore. > > Pauli > > 2008/7/29 John Moose <[EMAIL PROTECTED]>: > > re-ordered the libraries and builders, forced JDK compiler compliance to > 5.0 > > ( definitely *not* 6.0 !!) in Eclipse and voila...runs great. never > > *really* thought it was a Struts2 problem ; ) > > > > On Tue, Jul 29, 2008 at 9:26 AM, John Moose <[EMAIL PROTECTED]> wrote: > > > >> A very wierd situation...I have two projects in the Eclipse workspace -- > >> Tagging and Dashbd They both use the REST plugin and follow the naming > >> conventions, etc. Tagging will build, re-deploy and run perfectly. When > I > >> close that project and open Dashbd, build, re-deploy and run I get the > >> Action mapping failure as described. Both projects have source files in > the > >> "com.myeclipse.ozone" package name(space). Is it possible that there is > some > >> very persistent caching going on ??? like over multiple starts and > re-starts > >> of Tomcat? just a WAG... > >> > >> -John > >> > >> > >> On Tue, Jul 29, 2008 at 5:08 AM, Pauli Savolainen < > >> [EMAIL PROTECTED]> wrote: > >> > >>> Hi, > >>> > >>> I am having exactly the same problem. I was using Struts 2.1.1, > >>> switched to struts 2.1.2 (including the restful and codebehind > >>> plugins) and started to get this 'no action found' error. I am quite > >>> confident that I did not do anything that should've resulted in this. > >>> Of course I cannot be 100% sure, because I did goof around with my > >>> code a bit, but I checked and rechecked and rerechecked everthing > >>> twice and couldn't find a reason for this behaviour. > >>> > >>> John's web.xml and the stacktrace are identical to mine. I don't > >>> declare any namespaces in my struts.xml packages nor in the login form > >>> from which I try to invoke the login action <s:form > >>> action="/login/execute" method="post">. (Also tried with an > >>> exclamation mark i.e. login!execute) I have a LoginAction.java with an > >>> execute method in the pacakge defined in the web.xml's actionPackages > >>> init parameter. At least this declaration used to send the control to > >>> the LoginAction's execute method. Doesn't do anymore. > >>> > >>> I am using the struts 2.1.2 tiles plugin as well. On my index.jsp I > >>> include a tiles main layout which in turn includes sub-layouts (such > >>> as the login form). I don't know if this has anything got to do with > >>> the problem I'm having. > >>> > >>> So, is a result of something I did wrong or could it be something else? > >>> > >>> Thank you > >>> > >>> Pauli Savolainen > >>> > >>> 2008/7/28 Paul Benedict <[EMAIL PROTECTED]>: > >>> > What's the correct way of writing a good 404 or action not found > page? > >>> Does > >>> > s2 have something like a fallback action if nothing can be found? > >>> > > >>> > Paul > >>> > > >>> > On Mon, Jul 28, 2008 at 4:04 PM, Dave Newton <[EMAIL PROTECTED]> > >>> wrote: > >>> > > >>> >> Hmm, I wonder if it was the same issue I was having with 2.1.3 a > week > >>> or so > >>> >> ago that I haven't had time to re-visit--so it actually could be the > >>> web.xml > >>> >> (specifically the dispatcher being used) and I may have put my foot > in > >>> my > >>> >> mouth (again). > >>> >> > >>> >> Somebody followed up saying the original FilterDispatcher worked, > >>> though, > >>> >> so maybe not. Hrm. > >>> >> > >>> >> Dave > >>> >> > >>> >> --- On Mon, 7/28/08, John Moose <[EMAIL PROTECTED]> wrote: > >>> >> > and I probably should have included this as well: > >>> >> > > >>> >> > Struts Problem Report > >>> >> > > >>> >> > Struts has detected an unhandled exception: > >>> >> > *Messages*: > >>> >> > There is no Action mapped for namespace / and action name > >>> >> > dashbd. > >>> >> > ------------------------------ > >>> >> > Stacktraces *There is no Action mapped for namespace / and > >>> >> > action name > >>> >> > dashbd. - [unknown location]* > >>> >> > > >>> >> > > >>> >> > > >>> >> > >>> > com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:177) > >>> >> > > >>> >> > > >>> >> > >>> > com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:59) > >>> >> > > >>> >> > > >>> >> > >>> > org.apache.struts2.rest.RestActionProxyFactory.createActionProxy(RestActionProxyFactory.java:40) > >>> >> > > >>> >> > > >>> >> > >>> > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:439) > >>> >> > > >>> >> > > >>> >> > >>> > org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395) > >>> >> > > >>> >> > > >>> >> > >>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186) > >>> >> > > >>> >> > > >>> >> > >>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) > >>> >> > > >>> >> > > >>> >> > >>> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) > >>> >> > > >>> >> > > >>> >> > >>> > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) > >>> >> > > >>> >> > > >>> >> > >>> > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) > >>> >> > > >>> >> > > >>> >> > >>> > org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) > >>> >> > > >>> >> > > >>> >> > >>> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) > >>> >> > > >>> >> > > >>> >> > >>> > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) > >>> >> > > >>> >> > > >>> >> > >>> > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) > >>> >> > > >>> >> > > >>> >> > >>> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) > >>> >> > > >>> >> > > >>> >> > >>> > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) > >>> >> > > >>> >> > > >>> >> > >>> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) > >>> >> > > >>> >> > > >>> >> > >>> > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) > >>> >> > > >>> >> > > >>> >> > >>> > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) > >>> >> > > >>> >> > > >>> >> > >>> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > >>> >> > > >>> >> > > >>> >> > >>> > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) > >>> >> > > >>> >> > > >>> >> > >>> > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) > >>> >> > > >>> >> > > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) > >>> >> > > >>> >> > > >>> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) > >>> >> > > >>> >> > > >>> >> > >>> > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) > >>> >> > > >>> >> > > >>> >> > >>> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) > >>> >> > > >>> >> > > >>> >> > >>> > org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) > >>> >> > > >>> >> > > >>> >> > >>> > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) > >>> >> > java.lang.Thread.run(Thread.java:595) > >>> >> > > >>> >> > > >>> >> > > >>> >> > On Mon, Jul 28, 2008 at 4:39 PM, John Moose > >>> >> > <[EMAIL PROTECTED]> wrote: > >>> >> > > >>> >> > > Hi Dave, > >>> >> > > > >>> >> > > I have the following snippet of DashbdController class > >>> >> > that I am expecting > >>> >> > > to hit with the following URL: > >>> >> > > > >>> >> > > http:/localhost:8080/Dashbd > >>> >> > > > >>> >> > > <---SNIPPET > >>> >> > > > >>> >> > > package com.myeclipse.ozone; > >>> >> > > > >>> >> > > import java.util.Collection; > >>> >> > > > >>> >> > > import com.myeclipse.hibernate.*; > >>> >> > > > >>> >> > > import org.hibernate.HibernateException; > >>> >> > > import org.hibernate.Session; > >>> >> > > import org.hibernate.cfg.Configuration; > >>> >> > > > >>> >> > > import org.apache.struts2.config.Result; > >>> >> > > import org.apache.struts2.config.Results; > >>> >> > > import > >>> >> > org.apache.struts2.dispatcher.ServletActionRedirectResult; > >>> >> > > import org.apache.struts2.rest.DefaultHttpHeaders; > >>> >> > > import org.apache.struts2.rest.HttpHeaders; > >>> >> > > > >>> >> > > import com.opensymphony.xwork2.ModelDriven; > >>> >> > > import com.opensymphony.xwork2.Validateable; > >>> >> > > import com.opensymphony.xwork2.ValidationAwareSupport; > >>> >> > > > >>> >> > > > >>> >> > > @Results({ > >>> >> > > @Result(name="success", > >>> >> > type=ServletActionRedirectResult.class, > >>> >> > > value="dashbd") > >>> >> > > }) > >>> >> > > > >>> >> > > public class DashbdController extends > >>> >> > ValidationAwareSupport implements > >>> >> > > ModelDriven<Object>, Validateable{ > >>> >> > > > >>> >> > > //private static Gadget transientGadget = new > >>> >> > Gadget(); > >>> >> > > > >>> >> > > //String id; > >>> >> > > int id; > >>> >> > > > >>> >> > > private static int dashboardId; > >>> >> > > > >>> >> > > private Collection<Dashbd> > >>> >> > dashboardList; > >>> >> > > private Collection<Dashbd> model; > >>> >> > > private Collection<DashbdType> > >>> >> > dashboardTypeList; > >>> >> > > > >>> >> > > private DashbdService dashboardService = new > >>> >> > DashbdService(); // where > >>> >> > > the DAOs live > >>> >> > > > >>> >> > > > >>> >> > > /* > >>> >> > > > >>> >> > > >>> >> > >>> > **************************************************************************************** > >>> >> > > * DASHBOARDS > >>> >> > > */ > >>> >> > > > >>> >> > > // > >>> >> > > // GET .../dashbd get all > >>> >> > dashboards in table > >>> >> > > // > >>> >> > > public HttpHeaders index() { > >>> >> > > dashboardList = dashboardService.getAll(); > >>> >> > > return new > >>> >> > DefaultHttpHeaders("index") // dashbd-index.jsp > >>> >> > > .disableCaching(); > >>> >> > > } > >>> >> > > > >>> >> > > > >>> >> > > and etc. .... > >>> >> > > > >>> >> > > ...END SNIPPET > > >>> >> > > > >>> >> > > There are more methods in this calss of course, but > >>> >> > all I'm trying to do > >>> >> > > initially is hit the index() action with the URL above > >>> >> > ?!? > >>> >> > > > >>> >> > > the index.jsp is really simple: > >>> >> > > > >>> >> > > <% response.sendRedirect("dashbd"); %> > >>> >> > > > >>> >> > > > >>> >> > > this same scheme works perfectly with another RESTful > >>> >> > app service and fir > >>> >> > > the life of me, I can't find any > >>> >> > > > >>> >> > > > >>> >> > > > >>> >> > > On Mon, Jul 28, 2008 at 4:17 PM, Dave Newton > >>> >> > <[EMAIL PROTECTED]>wrote: > >>> >> > > > >>> >> > >> The web.xml doesn't have anything to do with > >>> >> > the error message; it thinks > >>> >> > >> there isn't an action configured at the URL > >>> >> > you're requesting. > >>> >> > >> > >>> >> > >> Impossible to help without more information. > >>> >> > >> > >>> >> > >> Dave > >>> >> > >> > >>> >> > >> --- On Mon, 7/28/08, John Moose > >>> >> > <[EMAIL PROTECTED]> wrote: > >>> >> > >> > >>> >> > >> > From: John Moose <[EMAIL PROTECTED]> > >>> >> > >> > Subject: There is no Action mapped for > >>> >> > namespace / and action name ... > >>> >> > >> > To: "Struts Users Mailing List" > >>> >> > <user@struts.apache.org> > >>> >> > >> > Date: Monday, July 28, 2008, 3:58 PM > >>> >> > >> > I know what you're thinking... web.xml > >>> >> > has no action > >>> >> > >> > mapping, but it does! > >>> >> > >> > > >>> >> > >> > > >>> >> > >> > <?xml version="1.0" > >>> >> > >> > encoding="UTF-8"?> > >>> >> > >> > <web-app version="2.5" > >>> >> > >> > > >>> >> > xmlns="http://java.sun.com/xml/ns/javaee" > >>> >> > >> > > >>> >> > >> > > >>> >> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > >>> >> > >> > > >>> >> > >> > > >>> >> > xsi:schemaLocation="http://java.sun.com/xml/ns/javaee > >>> >> > >> > > >>> >> > >> > > >>> >> > http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> > >>> >> > >> > > >>> >> > >> > <display-name>Struts 2 RESTful > >>> >> > Ozone > >>> >> > >> > Services</display-name> > >>> >> > >> > > >>> >> > >> > <!-- Filters --> > >>> >> > >> > <filter> > >>> >> > >> > > >>> >> > <filter-name>action2</filter-name> > >>> >> > >> > > >>> >> > >> > > >>> >> > >> > >>> >> > > >>> >> > >>> > <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> > >>> >> > >> > <init-param> > >>> >> > >> > > >>> >> > >> > > >>> >> > <param-name>actionPackages</param-name> > >>> >> > >> > > >>> >> > >> > > >>> >> > <param-value>com.myeclipse.ozone</param-value> > >>> >> > >> > </init-param> > >>> >> > >> > <init-param> > >>> >> > >> > > >>> >> > >> > > >>> >> > <param-name>struts.devMode</param-name> > >>> >> > >> > > >>> >> > <param-value>true</param-value> > >>> >> > >> > </init-param> > >>> >> > >> > </filter> > >>> >> > >> > > >>> >> > >> > <filter-mapping> > >>> >> > >> > > >>> >> > <filter-name>action2</filter-name> > >>> >> > >> > > >>> >> > <url-pattern>/*</url-pattern> > >>> >> > >> > </filter-mapping> > >>> >> > >> > > >>> >> > >> > <welcome-file-list> > >>> >> > >> > > >>> >> > <welcome-file>index.jsp</welcome-file> > >>> >> > >> > </welcome-file-list> > >>> >> > >> > </web-app> > >>> >> > >> > > >>> >> > >> > > >>> >> > >> > > >>> >> > >> > This file works well with another Struts2.1.3 > >>> >> > app. Can > >>> >> > >> > someone help me > >>> >> > >> > understand where to look for the cause of > >>> >> > this??? > >>> >> > >> > > >>> >> > >> > Thanks folks > >>> >> > >> > >>> >> > >> > >>> >> > > --------------------------------------------------------------------- > >>> >> > >> To unsubscribe, e-mail: > >>> >> > [EMAIL PROTECTED] > >>> >> > >> For additional commands, e-mail: > >>> >> > [EMAIL PROTECTED] > >>> >> > >> > >>> >> > >> > >>> >> > > > >>> >> > >>> >> > --------------------------------------------------------------------- > >>> >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>> >> For additional commands, e-mail: [EMAIL PROTECTED] > >>> >> > >>> >> > >>> > > >>> > >>> --------------------------------------------------------------------- > >>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>> For additional commands, e-mail: [EMAIL PROTECTED] > >>> > >>> > >> > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >