jfinal weblogic 下的bug

com.jfinal.render.VelocityRender
static void init(ServletContext servletContext) {
   String webPath = servletContext.getRealPath("/");
   properties.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, webPath);
   properties.setProperty(Velocity.ENCODING_DEFAULT, getEncoding()); 
   properties.setProperty(Velocity.INPUT_ENCODING, getEncoding()); 
   properties.setProperty(Velocity.OUTPUT_ENCODING, getEncoding());
}
此方法中,servletContext.getRealPath("/")为获取绝对路径,但weblogic中部署,该值的获取为空,会导致系统报错。

评论区

JFinal

2017-05-24 22:26

weblogic 下使用 jfinal + velocity 的情况不多见,能否在搞定以后,分享一下这个问题的解决方案,我本地没有 weblogic 环境

阿普

2017-06-01 16:14

添加如下代码:
if (webPath == null) {
// getRealPath("/")绝对路径, weblogic下获取为null
// getResource("/").getPath() 相对路径
try {
webPath = servletContext.getResource("/").getPath();
} catch (MalformedURLException e) {
e.printStackTrace();
}
}

热门反馈

扫码入社