Thanks Allen -- I modified the remove() to return SUCCESS and it only resulted in a different error; namely:
*Messages*: No result defined for action com.foo.actions.music.InstrumentsAction and result success >From all the reading (source code is next) it sure seems like * http://localhost:8080/struts2-20a/music/instruments/remove* on an action* com.foo.actions.music.InstrumentsAction *with a method* remove() that returns "remove" *should automatically select* music/instruments-remove.jsp *using the convention mapper. Peace, Scott On Tue, Dec 14, 2010 at 5:06 PM, Allen Lee <allen....@asu.edu> wrote: > I think this does the right thing if you return Action.SUCCESS in your > remove() action method instead of "remove". Otherwise you'll need a > custom result mapping for that new result string. > > On Tue, Dec 14, 2010 at 8:57 AM, <stanl...@gmail.com> wrote: > > I began writing about the 2.2.1 convention plugin and naturally started > > writing code. I especially like not having to code XML when my file > naming > > is clean and straightforward. I started off with a package named > > *com.foo.actions.music* which resolves to the namespace (URL)* /music*. > > Next I created an Action there call* Instruments* which is accessible > > via*/music/instruments > > * where the *execute *method is invoked and the resulting > > *WEB-INF/content/music/instruments.jsp > > *displayed. So now I want to experiment with specialized variations on > the > > URL in order to execute methods other than execute. I added a method > > > > @Action("/remove") > > public String remove() { > > return "remove"; > > } > > > > to my *Instruments *action and tried the following URL in the browser* > > /music/instruments/remove. > > *The remove method was invoked where it returned the string "remove." I > > expected this to resolve to > > *WEB-INF/content/music/instruments-remove.jsp, *which > > it **did not**. Instead I received that oh-so-familiar > > > > *Messages*: > > No result defined for action com.foo.actions.music.InstrumentsAction and > > result remove > > > > After several experiments and readings, I added the following annotation: > > > > @Action(value = "/remove", results = { @Result(name = "remove", type = > > "dispatcher", location = "music/instruments-remove.jsp") }) > > public String remove() { > > return "remove"; > > } > > > > which has both * /music/instruments *and* ** > > /music/instruments/remove *working > > fine. However, as I study this annotation, it looks like the convention > has > > fallen down and I am simply coding annotations where I would have wired > up > > XML glue. I realize there is support for REST and wildcards, but I would > > like to see if anyone can throw me a bone vis-a-vis the annotations > plug-in > > and support for methods beyond execute(). I realize I could have if/else > > code in execute() that returns this string or that, but seriously? > > > > > > -- > Allen Lee > Center for the Study of Institutional Diversity [http://csid.asu.edu] > Arizona State University | P.O. Box 872402 | Tempe, Arizona 85287-2402 > Office: 480.727.0401 | Fax: 480.965.7671 > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > >