Looking at the source code of beta1 the ActionServlet never calls the perform method
with the servlet parameter and 5
argument:
ActionServlet.doGet calls process(HttpServletRequest, HttpServletResponse) which at
some point call
processActionPerform(Action, ActionMapping, ActionForm, HttpServletRequest,
HttpServletResponse). This last method calls
the method perform with the mapping attribute and not the one with the servlet
attribute.
I think you need to subclass ActionServlet if you still want the perform method with
the servlet parameter to be called,
but the best think would be to use the perform method without the servlet parameter.
Jean-Noel
> Hi,
>
> I'm upgrading to Struts1.0 from 0.5 and see a weird problem:
> I have my action class extends Action instead of ActionBase,
> and still use the perform() method with 5 parameters (the first
> one is servlet). It compiles. But when the action is invoked, I
> get browser message "the page contains no data...", and I'm
> sure the perform() method isn't called (I have a printout on first
> line). It works only after I removed the servlet parameter to
> perform().
>
> I checked Struts source code and don't see any problem. Anyone
> see why this happens?
>
> Thanks,
> S Liu
>
>