FreeMarker与SSH项目整合流程

FreeMarker与SSH项目整合流程

学习了SSH之后,一般为了减少数据库的压力,会使用FreeMarker来生成静态HTML页面。下面简单说一下FreeMarker与SSH项目的整合全过程~

前提:已构建好SSH项目结构。

Step 1. 从网上下载freeMarker.jar,然后复制到项目中的/WEB-INF/lib目录下。

 

Step 2. web.xml加入以下配置信息:

 

<servlet>
    <servlet-name>freemarker</servlet-name>
    <servlet-class>freemarker.ext.servlet.FreemarkerServlet</servlet-class>
    <init-param>
        <param-name>TemplatePath</param-name>
        <param-value>/WEB-INF/</param-value><!-- 此处表示ftl文件的存放路径,这里表示ftl文件放在了/WEB-INF/目录下 -->
    </init-param>
    <init-param>
        <param-name>NoCache</param-name>
        <param-value>true</param-value>
    </init-param>
    <!-- 强制使用 UTF-8作为输出编码格式! -->
    <init-param>
        <param-name>ContentType</param-name>
        <param-value>text/html; charset=UTF-8</param-value>  
    </init-param>
    <!-- FreeMarker 设置: -->
    <!-- 在开发时设置为0,实际使用的时候需设置为较大的值 -->
    <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>
    <!-- datetime-format指定DateTime类型数据显示的格式 -->
    <init-param>
        <param-name>datetime_format</param-name>
        <param-value>yyyy-MM-dd HH:mm:ss</param-value>
    </init-param>
    <!-- date-format指定Date类型数据显示的格式 -->
    <init-param>
        <param-name>date_format</param-name>
        <param-value>yyyy-MM-dd</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
  
<servlet-mapping>
    <servlet-name>freemarker</servlet-name>
    <url-pattern>*.ftl</url-pattern>
</servlet-mapping>

 

Step 3.Step2已经说了,模板文件.ftl都会放在/WEB-INF/目录下,我们需要将.ftl文件创建在自己所设置的路径下,比如本人是test.ftl

test.ftl :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml">
<HEAD>
<TITLE></TITLE>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
</HEAD>
<BODY>
    <H1>${firstTest}</H1>
</BODY>
</HTML>

Step 4. 创建一个TestAction.java文件,作为控制层,内容如下:

注意:此处使用注解@Controller,需要在spring的xml文件中加入注解扫描!

 

<context:component-scan base-package="com.test.action"></context:component-scan>

TestAction.java:

@Controller
public class TestAction extends ActionSupport{
   private static final long serialVersionUID = -3771504149261841628L;
 
   public String firstTest;
 
   public String getFirstTest() {
      return firstTest;
   }
   public void setFirstTest(String firstTest) {
      this.firstTest = firstTest;
   }
   
   @Override
   public String execute() throws Exception {
      firstTest = "hello , this is my first test!";
      return SUCCESS;
   }
 
}

Step 5.struts.xml文件中加入以下配置信息(注意result的type值为freemarker,后面的路径文件类型是.ftl):

Step 6.tomcat运行,在浏览器地址栏输入:

http://localhost:8080/crm-freemaker-ssh/test.action,运行效果如下:

可以看到在TestAction.java文件中为firstTest变量赋的值成功显示在页面~说明配置成功啦~

注:关于FreeMarker的详细介绍,请参见文档http://freemarker.foofun.cn/index.html

posted @ 2018-08-04 14:30  小R谈编程  阅读(1010)  评论(0编辑  收藏  举报