freemarker的使用(二)

通过freemarker与servlet整合,实现一个学生信息列表web页面。

项目初始化
  1. 初始化一个DynamicWebProject
  2. 引入freemarker.jar包
    将freemarker.jar放在javaweb工程的src/main/webapp/WEB-INF/lib下。
  3. 在/WEB-INF目录下新建一个ftl文件夹。
  4. 将静态Demo页面相关文件复制到本工程下:
  • 原静态Demo文件夹结构如下:
    • Demo
      • css
      • js
      • fonts
      • student.html
  • 将css、js、fonts文件复制到webapp下,将student.html改为student.ftl后复制到ftl文件夹下。
  1. 配置web.xml文件
    freemarker.jar中提供了FreemarkerServlet,因此要使用FreemarkerServlet,只需在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/ftl</param-value>
		</init-param>
	</servlet>
	<servlet-mapping>
	<servlet-name>freemarker</servlet-name>
	<url-pattern>*.ftl</url-pattern>
	</servlet-mapping>
创建Student类

创建StudentListServlet类
/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		List<Student> stdList=new ArrayList<Student>();
		DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
		stdList.add(new Student("D20061746","张磊磊",LocalDate.parse("1999/10/01", formatter), "电气工程及其自动化", 567));
		stdList.add(new Student("D20061747","王明霞",LocalDate.parse("2001/10/01", formatter), "电气工程及其自动化", 543));
		stdList.add(new Student("D20061748","赵彦波",LocalDate.parse("1998/10/01", formatter), "电气工程及其自动化", 462));
		stdList.add(new Student("D20061749","吕明初",LocalDate.parse("2000/10/01", formatter), "电气工程及其自动化", 627));
		stdList.add(new Student("D20061750","姚云平",LocalDate.parse("1997/10/01", formatter), "电气工程及其自动化", 589));
		request.setAttribute("stdList", stdList);
		request.getRequestDispatcher("/student.ftl").forward(request, response);
	}

实现student.ftl
<#list stdList as std>
		<tr>
			<td>${std_index+1 }</td>
			<td>${std.number }</td>
			<td>${std.name }</td>
			<td>${std.birthday}</td>
			<td>${std.major}</td>
			<td style="color: red; font-weight: bold">${std.score}</td>
		</tr>
</#list>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值