Upgrading from Struts2 2.1 to 2.5

933 Views Asked by At

I am trying to do a redirectAction to another class, and to invoke a specific method in that class.
Basically, when the user hits an "Edit" link in a cell in a table, we get that object and put it into the Session, and then invoke the Editor class, calling the method which retrieves that object from the Session so it can be displayed in the editor.

This is the way my predecessors wrote the system long ago, and I'd prefer to make as few structural changes as possible.

Upgrading to 2.5 breaks all that.
We've narrowed it down to the method parameter:

<result name="editSingle" type="redirectAction">
    <param name="actionName">productEdit</param>
    <param name="method">getFromSession</param>
</result>

When we run this, we get the

"There is no Action mapped..."

message.
When we comment out the <param name="method"> line, it no longer fails, but obviously it never gets to the method we are no longer specifying. The docs for the redirectAction list a few parameters, but method is not among them. So my questions, I suppose, are twofold:

1) Did this really get removed somewhere in the 2.1 -> 2.5 migration journey?

2) How are people handling this removal? We can't be the only ones who've run into this.

1

There are 1 best solutions below

0
On

1) Did this really get removed somewhere in the 2.1 -> 2.5 migration journey?

No, I compared Struts 2.5 ServletActionRedirectResult.java with Struts 2.1 ServletActionRedirectResult.java and both are same about parameter method!