我正在尝试为我的webapp中的配置文件设置一个上下文路径,但似乎无论我尝试什么解决方案,都没有给出正确的路径。配置文件位于WEB-INF/Config中。在Struts2中设置ContextPath Action Class给出了错误的路径
我试过使用ServletContextAware
来抓取上下文路径,但它似乎给了我错误的路径。
C:\ Documents和Settings \人\我的文档 \ Geronimo的tomcat6中,javaee5-2.2斌\ Geronimo的tomcat6中,javaee5-2.2 \ BIN \ [email protected] \ WEB-INF \配置\ config.xml中
private ServletContext context;
public void setServletContext(ServletContext context) {
this.context = context;
}
AdminFile = builder.parse(context + "/WEB-INF/config/config.xml");
我还试图通过建立一个org.apache.struts2.ServletActionContext上下文路径,通过调用ServletActionContext.getServletContext,但是这给了我一个类似的错误。
C:\ Documents和Settings \人\我的文档 \ Geronimo的tomcat6中,javaee5-2.2斌\ Geronimo的tomcat6中,javaee5-2.2 \ BIN \ [email protected] \ WEB-INF \配置\ config.xml中
ServletContext context = ServletActionContext.getServletContext();
AdminFile = builder.parse(context + "/WEB-INF/config/config.xml");
我终于尝试使用ServletRequestAware,它给了我更好的成绩,但仍然不是完整的上下文路径,我需要。我也想避免将我的动作类耦合到servlet api。
\ JSPPrototype \ WEB-INF \配置\ config.xml中
public HttpServletRequest request;
public void setServletRequest(HttpServletRequest request)
{
this.request = request;
}
String context = request.getContextPath();
AdminFile = builder.parse(context + "/WEB-INF/config/config.xml");
正是我在做什么错了,我应该怎么建立一个可行的contextPath中?
哇,我不能相信我错过了。非常感谢您的帮助,它非常完美! – Bird 2013-04-04 20:13:23