action中怎样获取servletconfig?
发布网友
发布时间:2022-09-20 16:35
我来回答
共2个回答
热心网友
时间:2023-11-05 22:15
action中获取servletconfig只能在web应用启动的时候进行初始化的方式就有好几种了:
1、直接通过一个servlet实现;
2、通过*实现;
3、通过继承struts2的FilterDispatcher,复写init()方法实现。
以1为例来说明:
写一个servlet,复写上面的init方法,即可达到初始化ServletConfig对象的目的
public void init(ServletConfig config) throws ServletException {
super.init(config);
将config设置到ServletContext中,需要的时候去get即可
config.getServletContext().setAttribute("servletConfig", config);
System.out.println("初始化Config对象......" + servletConfig.toString());
}
public void init(ServletConfig config) throws ServletException {
super.init(config);
将config设置到ServletContext中,需要的时候去get即可
config.getServletContext().setAttribute("servletConfig", config);
System.out.println("初始化Config对象......" + servletConfig.toString());
}
热心网友
时间:2023-11-05 22:15
您好,想获取config里的参数的话可以这样试试
getServlet().getInitParameter(name);
getServlet().getInitParameterNames();
struts 里面的action其实就是一个servelt 所以,要在struts 下面使用smartupload 其使用方式根在servelt 下面所使用的方式一致.public class Action {
/**
* <p>The servlet to which we are attached.</p>
*/
protected ActionServlet servlet = null;
}
action 是一个类而struts的核心处理器是actionservelt如下:
public class ActionServlet extends HttpServlet {
// ----------------------------------------------------- Instance Variables
/**
* <p>Comma-separated list of context-relative path(s) to our configuration
* resource(s) for the default mole.</p>
*/
protected String config = "/WEB-INF/struts-config.xml";
}
如果你用了spring ,因为action是一个类,spring 默认采用的是sun的代码即需要接口.所以你可以用上面人员所说的使用ServletContext application = getServletContext();
WebApplicationContext wac = WebApplicationContextUtils
.getWebApplicationContext(application);
也可以使用spring 的对象代理机制。