Struts2&&Velocity

来源:互联网 发布:sql查询字段最大长度 编辑:程序博客网 时间:2024/04/27 22:23
Struts2与Velocity集成很简单,只要在返回类型中声明为:velocity就行了 
具体步骤如下 
1 将Struts2与Velocity的jar包拷贝到WEB-INF/lib下 
Struts2 jar: 
http://dl.iteye.com/topics/download/cf0b662c-4513-311a-b0aa-5859c52b4c74 
Velocity jar: 
http://dl.iteye.com/topics/download/4afc2415-e3fa-3617-aac2-76e08bea157f 
2 在WEB.xml声明Struts2的过滤器: 
Xml代码  收藏代码
  1. <filter>    
  2.       <filter-name>    
  3.           struts2    
  4.       </filter-name>    
  5.       <filter-class>    
  6.           org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter    
  7.       </filter-class>    
  8.   </filter>        
  9.   <filter-mapping>    
  10.       <filter-name>    
  11.           struts2    
  12.       </filter-name>    
  13.       <url-pattern>    
  14.           /*    
  15.       </url-pattern>    
  16.   </filter-mapping>      

3 在Struts.xml声明如下 
Xml代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8" ?>    
  2. <!DOCTYPE struts PUBLIC    
  3.     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"    
  4.     "http://struts.apache.org/dtds/struts-2.0.dtd">          
  5. <struts>    
  6.     <package name="hello" extends="struts-default" namespace="/">          
  7.         <action name="myVelocity" class="web.VelocityAction">    
  8.             <result type="velocity">/templates/demo.vm</result>    
  9.         </action>    
  10.    </package>     
  11. </struts>   

一 环境:Win7 64 + Eclipse3.7 + Tomcat6 + JDK1.6 
二 各页面代码如下: 
1 index.jsp 
Jsp代码  收藏代码
  1. <a href="<s:url action="myVelocity"/>">Velocity</a> <br>  

2 demo.vm与Velocity之WEB(Object,List,Map) 
http://liuzidong.iteye.com/blog/1308261是一样的 
3 VelocityAction.java 
Java代码  收藏代码
  1. package web;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.HashMap;  
  5. import java.util.List;  
  6. import java.util.Map;  
  7.   
  8. import service.UserService;  
  9. import bean.User;  
  10.   
  11. import com.opensymphony.xwork2.ActionSupport;  
  12.   
  13. public class VelocityAction extends ActionSupport{     
  14.       
  15.     private static final long serialVersionUID = 1L;        
  16.     private String userName = null;    
  17.     private int userAge = 0;  
  18.     private String userBlog = null;  
  19.     private User user = new User();  
  20.     private List list = new ArrayList();  
  21.     private List<User> users = new ArrayList<User>();    
  22.     private Map map = new HashMap();  
  23.     private UserService userService = new UserService();  
  24.     private Map<String,User> userMap = new HashMap<String,User>();   
  25.       
  26.       
  27.     public List<User> getUsers() {  
  28.         return users;  
  29.     }  
  30.     public int getUserAge() {  
  31.         return userAge;  
  32.     }  
  33.     public void setUserAge(int userAge) {  
  34.         this.userAge = userAge;  
  35.     }  
  36.     public String getUserBlog() {  
  37.         return userBlog;  
  38.     }  
  39.     public void setUserBlog(String userBlog) {  
  40.         this.userBlog = userBlog;  
  41.     }  
  42.     public User getUser() {  
  43.         return user;  
  44.     }  
  45.     public void setUser(User user) {  
  46.         this.user = user;  
  47.     }  
  48.     public List getList() {  
  49.         return list;  
  50.     }  
  51.     public void setList(List list) {  
  52.         this.list = list;  
  53.     }  
  54.     public Map getMap() {  
  55.         return map;  
  56.     }  
  57.     public void setMap(Map map) {  
  58.         this.map = map;  
  59.     }  
  60.     public UserService getUserService() {  
  61.         return userService;  
  62.     }  
  63.     public void setUserService(UserService userService) {  
  64.         this.userService = userService;  
  65.     }  
  66.     public void setUsers(List<User> users) {  
  67.         this.users = users;  
  68.     }  
  69.     public Map<String, User> getUserMap() {  
  70.         return userMap;  
  71.     }  
  72.     public void setUserMap(Map<String, User> userMap) {  
  73.         this.userMap = userMap;  
  74.     }  
  75.     @Override    
  76.     public String execute() throws Exception {    
  77.           
  78.         userName = "欢迎天涯";                
  79.         String userName = "咫尺天涯";    
  80.         int userAge = 30;    
  81.         userBlog = "http://liuzidong.iteye.com/";    
  82.         double money = 3999.89;            
  83.         user =  new User(userAge,userName,userBlog,money,true);            
  84.           
  85.         list.add("天涯");    
  86.         list.add(30);    
  87.         list.add(money);      
  88.           
  89.         map.put("1""a");    
  90.         map.put("2""b");    
  91.         map.put("3""c");     
  92.           
  93.         users.add(new User(userAge,userName,userBlog,money,true));    
  94.         users.add(new User(18,"天涯",userBlog,646.89,true));    
  95.         users.add(new User(32,"jack",userBlog,2323.45,false));      
  96.           
  97.         userMap.put("1",new User(23,"david",userBlog,money,true));    
  98.         userMap.put("2",new User(18,"天涯",userBlog,646.89,true));    
  99.         userMap.put("3",new User(32,"jack",userBlog,2323.45,false));            
  100.         return SUCCESS;    
  101.     }  
  102.     public String getUserName() {  
  103.         return userName;  
  104.     }  
  105.     public void setUserName(String userName) {  
  106.         this.userName = userName;  
  107.     }     
  108. }    

工程文件见附件
0 0
原创粉丝点击