Java 无法将Ryth模板引擎与servlet 3.0一起使用
我正在尝试在tomcat7上使用Ryth模板引擎和servlet 3.0。Java 无法将Ryth模板引擎与servlet 3.0一起使用,java,tomcat,servlets,servlet-3.0,rythm,Java,Tomcat,Servlets,Servlet 3.0,Rythm,我正在尝试在tomcat7上使用Ryth模板引擎和servlet 3.0。 我想将模板从WebContent目录渲染到Rythm引擎。但它并没有检测到模板 在servletinit()方法中,我将Rthym引擎初始化为 public void init(ServletConfig config) throws ServletException { Map <String, Object> context = new HashMap <String, Object
我想将模板从
WebContent
目录渲染到Rythm
引擎。但它并没有检测到模板
在servletinit()
方法中,我将Rthym引擎初始化为
public void init(ServletConfig config) throws ServletException {
Map <String, Object> context = new HashMap <String, Object> ();
//String filePath = new File("").getAbsolutePath();
//filePath.concat("WebContent");
context.put("home.template", "WebContent");
Rythm.init(context);
}
但是它在浏览器中只显示了“NewFile.html”(不是NewFile.html的内容,而是字符串“NewFile.html”我对Rythm也有类似的问题,在我的例子中,它有助于在文件名前写入目录:
Rythm.render("templates/" + templateFileName, parameters);
设置
home.template
变量对我也不起作用。Rythm使用资源管理器加载模板文件。资源管理器的默认实现将资源加载委托给Thread.currentThread.getContextClassLoader()
,后者无法加载webapp
文件夹下的任何资源。请参阅
如果要在webapp
文件夹下加载模板,则需要创建自己的资源管理器并委托给ServletContext
以加载模板
幸运的是,您不需要这样做。只需将模板放在resources
文件夹下,它就会按预期工作。下面是一个简单的项目:
项目源代码可以在上找到,知道为什么吗?可能是Rythm中的一个bug。
Rythm.render("templates/" + templateFileName, parameters);