FreeMarker配置使用问题

问题描述

没有整合其他框架,FreeMarker独自运行出现模板文件找不到问题求救啊

解决方案

本帖最后由 java_yinxuan 于 2014-07-10 17:25:07 编辑
解决方案二:
tpl模板应该放在/WEB-INF/classes目录下,而不是lib目录下
解决方案三:
web.xml<?xmlversion="1.0"encoding="UTF-8"?><web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"id="WebApp_ID"version="2.5"><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><!--FreemarkerinServlet--><servlet><servlet-name>freemarker</servlet-name><servlet-class>freemarker.ext.servlet.FreemarkerServlet</servlet-class><init-param><param-name>TemplatePath</param-name><param-value>/</param-value></init-param><init-param><param-name>NoCache</param-name><param-value>true</param-value></init-param><init-param><param-name>ContentType</param-name><param-value>text/html;charset=UTF-8</param-value></init-param><init-param><param-name>template_update_delay</param-name><param-value>0</param-value></init-param><init-param><param-name>default_encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>number_format</param-name><param-value>0.
解决方案四:

解决方案五:

解决方案六:
#</param-value></init-param></servlet><servlet-mapping><servlet-name>freemarker</servlet-name><url-pattern>*.htm</url-pattern></servlet-mapping><servlet><servlet-name>test</servlet-name><servlet-class>servlet.MyServlet</servlet-class></servlet><servlet-mapping><servlet-name>test</servlet-name><url-pattern>/test</url-pattern></servlet-mapping></web-app>

解决方案七:
使用FreeMarker的Servletimportbean.User;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjava.io.IOException;publicclassMyServletextendsHttpServlet{@OverrideprotectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{Useruser=newUser("HuangBiao","password");req.setAttribute("user",user);req.getRequestDispatcher("/WEB-INF/view/freemarker/fm.htm").forward(req,resp);//这里可以看到fm.htm放的路径,这个是模板文件}}

解决方案八:
//设置模版路径freemarker.template.Configuration.setDirectoryForTemplateLoading(newFile(ftlpath));
解决方案九:
引用楼主java_yinxuan的回复:

没有整合其他框架,FreeMarker独自运行出现模板文件找不到问题求救啊

我的代码中这样设置的cfg.setServletContextForTemplateLoading(getServletContext(),"WEB-INF/templates");

路径不应该这样写吗?
解决方案十:
引用1楼Inhibitory的回复:

tpl模板应该放在/WEB-INF/classes目录下,而不是lib目录下

我的代码中这样设置的cfg.setServletContextForTemplateLoading(getServletContext(),"WEB-INF/templates");
解决方案十一:
我只会用我说的这种方式,你的那种没用过。
解决方案十二:
引用4楼maihao110的回复:

//设置模版路径freemarker.template.Configuration.setDirectoryForTemplateLoading(newFile(ftlpath));

这样配置不行吗?cfg.setServletContextForTemplateLoading(getServletContext(),"WEB-INF/templates");

解决方案十三:
引用2楼Inhibitory的回复:

web.xml<?xmlversion="1.0"encoding="UTF-8"?><web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"id="WebApp_ID"version="2.5"><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><!--FreemarkerinServlet--><servlet><servlet-name>freemarker</servlet-name><servlet-class>freemarker.ext.servlet.FreemarkerServlet</servlet-class><init-param><param-name>TemplatePath</param-name><param-value>/</param-value></init-param><init-param><param-name>NoCache</param-name><param-value>true</param-value></init-param><init-param><param-name>ContentType</param-name><param-value>text/html;charset=UTF-8</param-value></init-param><init-param><param-name>template_update_delay</param-name><param-value>0</param-value></init-param><init-param><param-name>default_encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>number_format</param-name><param-value>0.
解决方案十四:

解决方案十五:

解决方案:
#</param-value></init-param></servlet><servlet-mapping><servlet-name>freemarker</servlet-name><url-pattern>*.htm</url-pattern></servlet-mapping><servlet><servlet-name>test</servlet-name><servlet-class>servlet.MyServlet</servlet-class></servlet><servlet-mapping><servlet-name>test</servlet-name><url-pattern>/test</url-pattern></servlet-mapping></web-app>

配置<init-param></init-param>是必须的吗?我刚接触FreeMarker,没有整合任何框架,只单纯用FreeMarker

时间: 2024-09-30 18:47:45

FreeMarker配置使用问题的相关文章

FreeMarker配置(Configuration)_java

p> 基础 Configuration 是一个存放应用级别(application level)公共配置信息,以及模版(Template)可使用的全局共享变量的一个对象.同时它还负责模版(Template)实例的创建以及缓存.Configuration 实际上是freemarker.template.Configuration 对象的实例,使用其构造函数创建.通常应用使用一个共享的单实例Configuration 对象. Configuration 对象可被Template 对象的方法使用,每一

我想在html页面中引用freemarker但不知道该怎么配置,求各位高手帮帮忙

问题描述 我想在html页面中引用freemarker但不知道该怎么配置,求各位高手帮帮忙 我想在html页面中引用freemarker但不知道该怎么配置,求各位高手帮帮忙 解决方案 纯html中无法使用.在动态项目中才能使用,如jsp,asp 你要想使用freemarker标签,必须能够被FreemarkerServlet拦截到,然后解析处理成html 所以你直接用ftl页面就行了,为什么要静态网页和动态模版混着用呢 如果真想用..web.xml 中freemarker拦截器(制定拦截*.ht

Java: FreeMarker的配置和使用

初学什么都不可以忽略的地方就是这个东西的官方网站:http://freemarker.org/.下载或者API都可以参考这里. FreeMarker是什么 非常的简单明了.FreeMarker是一个java包.实现了MVC模式,分离开发者和设计师.也就是分离html也java的代码.   FreeMarker是如何工作的 这是官网的图.非常明确的说明了FreeMarker是如何运作的.首先需要有一个template模板,在那里就是一堆的html标签和一些专属FreeMarker的标签,这些标签之

Freemarker 最简单的例子程序_java

Freemarker 最简单的例子程序   freemarker-2.3.18.tar.gz http://cdnetworks-kr-1.dl.sourceforge.net/project/freemarker/freemarker/2.3.18/freemarker-2.3.18.tar.gz freemarker-2.3.13.jar: 链接: http://pan.baidu.com/s/1eQVl9Zk 密码: izs5 1.通过String来创建模版对象,并执行插值处理 执行后,控

FreeMarker的基础语法

FreeMarker语言 FreeMarker语言概述 FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写. FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序 虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据(如下图)   FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件. FreeMarker与容器无关

Spring Boot 集成 FreeMarker 详解案例

转载自 并发编程网 - ifeve.com一.Springboot 那些事 SpringBoot 很方便的集成 FreeMarker ,DAO 数据库操作层依旧用的是 Mybatis,本文将会一步一步到来如何集成 FreeMarker 以及配置的详解: Springboot 那些事: 系类文章: <Spring Boot 之 RESRful API 权限控制> <Spring Boot 之 HelloWorld详解> <Springboot 整合 Mybatis 的完整 We

基于Java的Spring框架来操作FreeMarker模板的示例_java

1.通过String来创建模版对象,并执行插值处理  import freemarker.template.Template; import java.io.OutputStreamWriter; import java.io.StringReader; import java.util.HashMap; import java.util.Map; /** * Freemarker最简单的例子 * * @author leizhimin 11-11-17 上午10:32 */ public cl

解决sitemesh3装饰页面不能使用freemarker标签问题

如题,这个问题其实在sitemesh2中已经很好的解决了,不过在sitemesh3中可能没有解决,所以要自己写代码解决了,下面我先讲下sitemesh2是如何解决的: <servlet> <servlet-name>sitemesh-freemarker<rvlet-name> <servlet-class>com.opensymphony.module.sitemesh.freemarker.FreemarkerDecoratorServlet</s

spring-mvc+freemaker乱码

问题描述 spring-mvc+freemaker乱码 请教一下,我从后台传到ftl页面的中文显示正常,但是写在flt页面上的中文反而乱码是怎么回事 解决方案 http://www.easyjf.com/blog/html/20071218/884747.html 解决方案二: 在spring-servlet.xml配置文件中,加入下面的配置,主要是defaultEncoding=utf-8这个配置. <!-- FreeMarker配置类 --> UTF-8zh_CNutf-8 解决方案三: