FTL(Freemarker模板文件)在SSM项目中的使用

先普及一下

FreeMarker是一种比较简单的网页展示技术,是网页模板和数据模型的结合体。这种结合模式的好处就是,分离了网页界面设计人员和编程人员的工作,让他们各司其职。

FreeMarker就是一种用Java编写的模板引擎, 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。

小编手头有整套智慧校园系统,是基于SSM的(Spring+Shiro+MVC),下面我就以此为例介绍一下FTL模板文件的用法

1 模板的应用

利用FTL设计网页展示页面要方便快捷的多,你可以实现设计好模板然后直接调用即可,调用代码如下:

<#include "${managerViewPath}/include/macro.ftl"/>

示例中${managerViewPath}这个路径需实现在properties配置文件中声明

managerViewPath=/WEB-INF/manager

然后在Spring配置文件spring-core.xml中声明

spring 包扫描配置文件
 



	
		
		
	

再新建ActionInterceptor.java声明变量如下:

@Value("${managerViewPath}")
private String managerViewPath;

这样只需把模板文件放在/WEB-INF/manager下面就可以在项目中随意调用了,注意文件名不要重复哦!

2、模板解析

在具体的JAVA程序文件中如何解析FTL模板呢?

@Controller("achSystemAction")
@RequestMapping("/${managerPath}/ir")
public class AchivesAction extends BaseAction{
	@Autowired
	private IAchivesRiz achivesRiz;
	
	@RequestMapping("/index")
	public String index(HttpServletRequest request,ModelMap model) {

		return view("/ir/system/index");//返回学术管理后台文件
	}
」

“view()”在哪里呢?是在BaseAction.java文件中定义的

public  static String VIEW = "/manager";
protected String view(String path) {
  return VIEW+path;
}

然后在配置文件spring-mvc.xml中配置freemarker


	
		
		
		
			
				1
				zh_CN
				yyyy-MM-dd
				yyyy-MM-dd
				#.##
				${managerViewPath}/include/macro.ftl as yj
			
		
	

看到“as yj”了吧!!!这是很重要的,以后再设计FTL文件都要以此<@yj.xx>为闭合

<@yj.html5>
	<@yj.nav title="项目列表">
	<@yj.searchForm   name="searchForm" action="">
			<@yj.text label="项目名"  name="signName" value="" title="请输入项目名"  placeholder="请输入项目名" />
			<@yj.searchFormButton>
				<@yj.queryButton id="submitSearch" />								
			
	

 

你可能感兴趣的:(SSM,FTL)