使用FreeMarker

时间:2015-10-07 08:07:15

标签: freemarker

我正在使用FreeMarker模板引擎从外部URL获取模板,这需要基本身份验证。为此,我将模板加载器设置为URLTemplateLoader并提供我的getURL()方法实现。

configuration.setTemplateLoader(new URLTemplateLoader() {
protected URL getURL(String templateName) {
 URL url = null;
url = new URL(URL where template resides);
return url;
} }

我可以在URL不需要身份验证的情况下获取模板。但我没有看到任何方式为URL需要身份验证的情况提供用户名密码。请建议。

1 个答案:

答案 0 :(得分:0)

我正在使用新的URL(String path)构造函数,这限制了我提供身份验证数据。相反,java.net.URL类包含一个允许您传递URLStreamHandler的构造函数。我必须编写自己的处理程序,它在运行时扩展Java /容器提供的处理程序,并提供我自己的处理程序类的openConnection()方法实现。

您需要覆盖openConnection()方法,因为这是freemarker在尝试加载模板时使用的方法。

感谢。