我对Rythm模板有一个奇怪的问题。目前,我将这些模板放在
myPrj/src/main/java/resources/templates文件夹。
所有的Java源代码都在myPrj/src/main/java文件夹下。
当我尝试渲染时,Rythm有时会生成XML文件,有时我会得到原样的文件名。
我将home.template设置为"templates“文件夹:
params.put("home.template", "templates");
String myTemplateString = Rythm.render("MyTemplate.xml", parameters);看起来Rythm无法定位MyTemplate.xml并导致发出MyTemplate.xml作为输出。
你能帮我解决这个问题吗?此外,如果你能指导我应该是适当的位置放置这些模板将不胜感激。
发布于 2015-05-29 04:43:19
home.template是初始化模板引擎的配置键,而不是呈现模板的参数。
我对您的应用程序的实现如下所示
public class App {
private static RythmEngine engine;
private static void echo(String msg, Object ... args) {
System.out.println(String.format(msg, args));
}
private static void init() {
echo("initializing rythmengine");
Map<String, Object> conf = new HashMap<String, Object>();
conf.put("home.template", "templates");
engine = new RythmEngine(conf);
echo("engine initialized");
}
private static void render() {
Map<String, Object> params = new HashMap<String, Object>();
params.put("foo", "FOO");
params.put("bar", "BAR");
String result = engine.render("MyTemplate.xml", params);
echo(result);
}
private static void doJob() {
echo("start doing real job now...");
render();
}
public static void main( String[] args ) {
init();
doJob();
}
}完整的示例代码可以在https://github.com/greenlaw110/Rythm/tree/master/samples/demo_fo_SO_150529上找到。下载示例代码并运行mvn compile exec:java查看结果
发布于 2017-01-26 23:12:25
您的问题似乎存在于home.template的路径中。example on their website可能会有所帮助。
如果我没记错的话,您应该使用params.put("home.template", "resources/templates");而不是params.put("home.template", "templates");。
一般来说,这种行为在Rythm找不到模板的任何时候都会发生。我发现最好同时检查路径和文件名。如有必要,只需使用模板的绝对路径,以确保它指向正确的目录。在获得正确的路径之后,您可能希望将其更改回相对路径。
https://stackoverflow.com/questions/30494405
复制相似问题