我的漫漫程序之旅

专注于JavaWeb开发

FreeMarker中集合类的遍历

1.建一个vo类:
package com;

public class User
{
    
private Integer id;
    
private String username;
    
private Integer age;

    
public Integer getId()
    
{
        
return id;
    }


    
public void setId(Integer id)
    
{
        
this.id = id;
    }


    
public String getUsername()
    
{
        
return username;
    }


    
public void setUsername(String username)
    
{
        
this.username = username;
    }


    
public Integer getAge()
    
{
        
return age;
    }


    
public void setAge(Integer age)
    
{
        
this.age = age;
    }

}


2.TestServlet:
package com;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;

@SuppressWarnings(
"serial")
public class TestServlet extends HttpServlet
{
    Configuration cfg 
= null;

    
public void init() throws ServletException
    
{
        cfg 
= new Configuration();
        cfg.setServletContextForTemplateLoading(
this.getServletContext(), null);
    }


    
/**
     * 模拟数据库,初始化数据库集合放的是vo对象
     * 
     * 
@return
     
*/

    
private List<User> initData()
    
{
        List
<User> users = new ArrayList<User>();
        User u1 
= new User();
        u1.setId(
1);
        u1.setUsername(
"zdw");
        u1.setAge(
24);

        User u2 
= new User();
        u2.setId(
2);
        u2.setUsername(
"shy");
        u2.setAge(
22);

        User u3 
= new User();
        u3.setId(
3);
        u3.setUsername(
"tt");
        u3.setAge(
100);
        users.add(u1);
        users.add(u2);
        users.add(u3);
        
return users;

    }


    @SuppressWarnings(
"unchecked")
    
public void doGet(HttpServletRequest request, HttpServletResponse response)
            
throws ServletException, IOException
    
{
        
// 普通集合
        List list = new ArrayList();
        list.add(
"zdw");
        list.add(
"test");
        list.add(
"shy");
        
// vo集合
        List users = this.initData();

        Map map 
= new HashMap();
        map.put(
"list", list);
        map.put(
"users", users);
        Template template 
= cfg.getTemplate("WEB-INF/templates/test.ftl");
        PrintWriter out 
= response.getWriter();
        
try
        
{
            template.process(map, out);
        }
 catch (TemplateException e)
        
{
            e.printStackTrace();
        }

    }


    
public void doPost(HttpServletRequest request, HttpServletResponse response)
            
throws ServletException, IOException
    
{
        
this.doGet(request, response);
    }


}


3.web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
    xmlns
="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation
="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
>
  
<servlet>
    
<servlet-name>TestServlet</servlet-name>
    
<servlet-class>com.TestServlet</servlet-class>
  
</servlet>

  
<servlet-mapping>
    
<servlet-name>TestServlet</servlet-name>
    
<url-pattern>/TestServlet</url-pattern>
  
</servlet-mapping>
  
<welcome-file-list>
    
<welcome-file>index.jsp</welcome-file>
  
</welcome-file-list>
</web-app>

4.WEB-INF/templates/test.ftl:
<html>
<head><title>测试</title></head>

<body>
   
<#--普通集合的输出-->
    
<#list list  as l>
            ${l} 
<br />
      
</#list>
      
<hr />
      
<#-- 集合users的输出 -->
      
<#list users as u >
            userId:${u.id}  
<br />
            username: ${u.username} 
<br />
            age :     ${u.age} 
<br />             
      
</#list>
</body>
</html>

5.访问地址:http://localhost:8888/freemarker/TestServlet
即可看到:
zdw
test
shy

userId:1
username: zdw
age : 24
userId:2
username: shy
age : 22
userId:3
username: tt
age : 100

ok,对于集合类的访问输出确实很方便 了。

posted on 2008-06-04 09:35 々上善若水々 阅读(216) 评论(0)  编辑  收藏 所属分类: opensource


标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
 
 

相关链接:
网站导航:

导航

<2008年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

统计

留言簿(12)

随笔档案(24)

文章分类(277)

文章档案(228)

搜索

最新评论

阅读排行榜

评论排行榜