我正在嘗試爲我的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