当前位置: 首页 > 知识库问答 >
问题:

Struts2。3.15 freemarker整合

陈铭晨
2023-03-14

当我使用Struts 2.1.8时,我使用的freemarker是这样的:

在applicationContext中配置bean。xml:

<bean id="freemarkerManager" 
      class="org.apache.struts2.views.freemarker.FreemarkerManager"/>

在代码中:

try {
    ServletContext servletContext = ServletActionContext.getServletContext();
    System.out.println(freemarkerManager.getConfig());
    Configuration configuration = 
                              freemarkerManager.getConfiguration(servletContext);
    Template template = configuration.getTemplate(templateFilePath);
    File htmlFile = new File(servletContext.getRealPath(htmlFilePath));
    File htmlDirectory = htmlFile.getParentFile();
    if (!htmlDirectory.exists()) {
        htmlDirectory.mkdirs();
    }
    Writer out = new BufferedWriter(new OutputStreamWriter(
                                      new FileOutputStream(htmlFile), "UTF-8"));
    template.process(data, out);
    out.flush();
    out.close();
} catch (Exception e) {
    e.printStackTrace();
}

它在Struts 2.1.8上运行良好;

但现在我使用Struts 2.3.15,它不起作用;它无法加载freemarker。属性。我读了源代码,问题是fileManagerloadSettings()方法中为空:

try {
    in = fileManager.loadFile(
               ClassLoaderUtil.getResource("freemarker.properties", getClass()));

在Struts 2.1.8loadSettings()中,方法如下:

InputStream in = null;
try {
    in = FileManager.loadFile("freemarker.properties", FreemarkerManager.class);

没问题

有人能告诉我如何在Struts 2.3.15中使用freemarkerManager吗?

共有1个答案

田骁
2023-03-14

您必须像这样初始化freemarkerManager

FreemarkerManager freemarkerManager = Dispatcher.getInstance().getContainer().getInstance(FreemarkerManager.class);
 类似资料:
  • 本文向大家介绍spring整合struts2过程详解,包括了spring整合struts2过程详解的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了spring整合struts2过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 首先将以下jar包加入到lib文件夹中: 基础目录: Person.java PersonService

  • 本文向大家介绍JQuery+Ajax+Struts2+Hibernate框架整合实现完整的登录注册,包括了JQuery+Ajax+Struts2+Hibernate框架整合实现完整的登录注册的使用技巧和注意事项,需要的朋友参考一下 最近在仿造一个书城的网站: http://www.yousuu.com ,UI直接拿来用,前端后端自己写,目前大部分功能已经实现, 就把具体的 登录注册功能 拿来分享一

  • 我在struts2中使用jqgrid插件。我能够在浏览器中看到JSON数据,但不确定如何在网格中显示该数据(使用grid.jsp)。 以下是我正在使用的文件: 支柱。xml 网状物xml http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd“id=“WebApp\u id”版本=“3.0” JSONDataAction.java 用户ction.jav

  • 本文向大家介绍struts2+spring+ibatis框架整合实现增删改查,包括了struts2+spring+ibatis框架整合实现增删改查的使用技巧和注意事项,需要的朋友参考一下 初步学习SSI框架,做的struts2+spring+ibatis框架整合的小实例,实现增删改查操作。 项目框架如下所示: 准备工作:导入需要的struts2、spring、ibatis的jar包,这里不一一列举

  • 问题内容: 与此问题相关(答案并没有真正指向重点): 使用Struts2hibernate-使用完整的hibernate插件或其他方法关闭会话? 我有相同的设置:Struts 2.2.3和struts2-fullhibernatecore-plugin-2.2.2-GA。我没有为Struts2和插件更改任何默认设置。我正在使用MySQL,没有其他连接池,也没有任何花哨的地方。 我在动作中使用以下代

  • AjaxFileUpload 是一个在 Struts2 框架的支持下,实现无页面刷新的Ajax文件上传功能,上传是后台进行,不会影响页面的响应,而且提供上传的进度信息。