给个示范:public class BaseAction extends Action 
{
  private WebApplicationContext AppContext;
  
  public BaseAction()
  {
    super();
  }//end construct method BaseAction
  
  private void setServlet(ActionServlet actionServlet)
  {
    super.setServlet(actionServlet);
    ServletContext servletContext=actionServlet.getServletContext();
    AppContext=WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);
  }//end method setServlet
  
  protected AssortOper getAssortOper()
  {
    return (AssortOper)AppContext.getBean("assortOperImp");
  }
}

解决方案 »

  1.   

    即使不用Strtus,servletContext也是可以获取的,方法很多,请LZ参考Servlet相关资料吧!呵呵
      

  2.   

    javapassion(村长赵大宝):
    还是有些不太明白。
     private void setServlet(ActionServlet actionServlet)
      {
        super.setServlet(actionServlet);
        ServletContext servletContext=actionServlet.getServletContext();
        AppContext=WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);
      }//end method setServlet
    setServlet方法中的参数actionServlet从那里得到??
    我现在的想法就是想不论用strtus或webwork我都可以得到appcontext。
    这样我在webwork中的action中就可以直接得到app.getBean("beanId")
      

  3.   

    /**
     * 获取WebApplicationContext
     */
    public Object getBean(String name) {
    ApplicationContext ctx = WebApplicationContextUtils
    .getRequiredWebApplicationContext(servlet.getServletContext());
    return ctx.getBean(name);
    }
      

  4.   

    extends Action!
    所以重写了setServlet(ActionServlet actionServlet)方法