On 9/19/2017 11:43 AM, LAW Andy wrote:
>
>> On 14 Sep 2017, at 16:03, Yasser Zamani <[email protected]> wrote:
>>
>> Do last three exceptions occur in same time, in one action call (I think
>> because of first word of their lines 73709, 73712 and 73716 and their
>> same thread name "http-nio-8082-exec-9") ? If so, it means you want to
>> evaluate <s:property value="actionTitle", <s:property value="action" and
>> <s:property value="title" against different objects ActionOption,
>> ActionOptionBase and BasemydomainAction. I wonder how do you reach such
>> state or maybe I miss something but it's impossible while only one
>> object can be root of the OGNL.
>>
>
> This is an old application, first written around 10 years ago and maintained
> since then. It is possible that we have misinterpreted the intent of some of
> the Struts support classes over the years, and equally it is possible that
> the intent of those classes has changed. I know that the application worked
> up until this latest release.
>
> The actions are complex and consist of a series of sub-actions which are
> re-usable. The top level Actions (which I’ll cal Routes) *and* the
> sub-actions each inherit ultimately from ActionSupport. So, Route 1 might be
> a chain of sub-action A, sub-action B, sub-action C and Route 2 might be
> sub-action A followed by sub-action C then sub-action D. The Route object’s
> execute() function delegates in turn to the sub-actions. The Route level
> actions are defined in struts.xml whereas the sub-actions are created in the
> constructors of the Route-level actions. I suspect that this is why things
> are now breaking, but they did not do so previously.
>
Yes, that's the cause. Instantiating actions manually is not a good
practice but if currently it does not make any sense in your case, I
thought you may like my following solution:
> The application is now largely in maintenance-only mode and we have only been
> working on it when security concerns arise. I don’t have the resources to
> commit to re-architecting so finding security updates that break the code as
> a side-effect is something that causes grief :(
>
> I’m pretty sure that the context-fallback should get this code working again,
> so I’d be keen to get an ETA on that point release if it’s likely to happen.
>
Till release, I thought you may like something as below:
public class RouteLevelAction extends ActionSupport {
public String getActionTitle() {
SubAction b = new SubAction();
this.container.inject(b); /* I added this under your manual
instantiate which injects Strut's needed staff into it :) */
return base.getTitle();
}
}
> Thanks for the work that you guys do. It is very much appreciated (even if we
> don’t give that impression at times).
>
> Later,
>
> Andy
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]