创建配置时出错,无法解析 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”时出错,模板可能不存在或可能无法被任何已配置的模板解析器访问

解析模板 [] 时出错,模板可能不存在或可能无法被任何已配置的模板解析器访问

解析模板“登录”时出错,模板可能不存在或可能无法被任何已配置的模板解析器访问

解析模板时出错 [/],模板可能不存在或可能无法被任何已配置的模板解析器访问

解析模板“欢迎”时出错,模板可能不存在或可能无法被任何已配置的模板解析器访问

解析模板 [registration] 时出错,模板可能不存在或可能无法被任何已配置的模板解析器访问