创建配置时出错,无法解析 setClassForTemplateLoading() 和 getTemplate()
Posted
技术标签:
【中文标题】创建配置时出错,无法解析 setClassForTemplateLoading() 和 getTemplate()【英文标题】:error when creating configuration and can't resolve setClassForTemplateLoading() and getTemplate() 【发布时间】:2015-11-03 13:44:40 【问题描述】:我是 IntelliJ IDEA 的新手,正在尝试 freemarker 和 maven。 我刚刚安装了该软件并尝试了一个 freemarker 项目,它显示了重写配置对象创建的方法。如果我这样做,我不能使用 setClassForTemplateLoading()。它显示无法解决这个问题。还有 getTemplate()。
public class HelloWorldFreemarkerStyle
public static void main(String[] args)
Configuration cfg = new Configuration();//shows error, insisting to use override method
cfg.setClassForTemplateLoading(HelloWorldFreemarkerStyle.class, "/");//can't resolve
try
Template helloTemplate = cfg.getTemplate("hello.ftl");// can't resolve
StringWriter writer = new StringWriter();
Map<String, Object> helloMap = new HashMap<String, Object>();
helloMap.put("name", "Vicky");
helloTemplate.process(helloMap, writer);
System.out.println(writer);
catch (Exception e)
e.printStackTrace();
freemarker 依赖项:
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.20</version>
</dependency>
你好.ftl:
<html>
<head>
<title>Welcome!</title>
</head>
<body>
<h1>hello $name</h1>
</body>
</html>
【问题讨论】:
您能否在您的HelloWorldFreemarkerStyle
文件中添加导入列表?可能导入了不正确的类。
包 com.mongodb;导入freemarker.template.Template;导入 javax.security.auth.login.Configuration;导入 java.io.StringWriter;导入 java.util.HashMap;导入 java.util.Map;
谢谢妈妈,导入freemarker.template.Configuration;此导入类库不存在,现在已纠正错误。非常感谢妈妈...
不相关,但是当有 2.3.23 时不要使用 2.3.20...它会提供更好的错误消息,例如,这是为了节省您的时间。跨度>
【参考方案1】:
确保您正在导入
import freemarker.template.Configuration;
在文件的顶部,而不是
import javax.security.auth.login.Configuration;
【讨论】:
以上是关于创建配置时出错,无法解析 setClassForTemplateLoading() 和 getTemplate()的主要内容,如果未能解决你的问题,请参考以下文章
解析模板“~fragments/header”时出错,模板可能不存在或可能无法被任何已配置的模板解析器访问
解析模板 [] 时出错,模板可能不存在或可能无法被任何已配置的模板解析器访问
解析模板“登录”时出错,模板可能不存在或可能无法被任何已配置的模板解析器访问
解析模板时出错 [/],模板可能不存在或可能无法被任何已配置的模板解析器访问