2011年4月16日土曜日

GAE/J+Velocity

参考

war/WEB-INF/libにコピーしたライブラリVelocity-1.7-dep.jarをプロジェクトに追加。

control.java

  1. protected void doGet(HttpServletRequest req, HttpServletResponse resp)  
  2.         throws ServletException, IOException {  
  3.     user user1 = new user(0"ユーザ1"17685);  
  4.     user user2 = new user(1"ユーザ2"185120);  
  5.     user user3 = new user(2"ユーザ3"16872);  
  6.     LinkedList group = new LinkedList();  
  7.   
  8.     group.add(user1);  
  9.     group.add(user2);  
  10.     group.add(user3);  
  11.   
  12.     Velocity.init();  
  13.     VelocityContext vc = new VelocityContext();  
  14.     vc.put("group", group);  
  15.     StringWriter sw = new StringWriter();  
  16.     Template template = Velocity.getTemplate("/admin/velocity/foreach.vm""UTF-8");  
  17.   
  18.     template.merge(vc, sw);  
  19.     System.out.println(sw);  
  20.     resp.setCharacterEncoding("UTF-8");  
  21.     resp.setContentType("text/html; charset=UTF-8");  
  22.     resp.getWriter().print(sw);  
  23. }  

web.xml

  1. <servlet>  
  2.     <servlet-name>control</servlet-name>  
  3.     <servlet-class>scoreman.control</servlet-class>  
  4. </servlet>  
  5. <servlet-mapping>  
  6.     <servlet-name>control</servlet-name>  
  7.     <url-pattern>/admin/control</url-pattern>  
  8. </servlet-mapping>  

war/admin/velocity/foreach.vm


  1. <html>  
  2. <body>  
  3. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  4.     <h1>Velocity</h1>  
  5.         表示のテストです  
  6.   
  7. #easyMacro($group)  
  8. </body>  
  9. </html>  
  10.   
  11. #macro(easyMacro $group)  
  12. #foreach($human in $group)  
  13.         $velocityCount : $human.name  
  14.   
  15. #end  
  16. #end  

参考サイトでは文字化け対策でpropertyファイルをコピーしてたりしてたけど、今のところこれでも問題ないのでこれでいきますかな。


表示画面


無題

0 件のコメント:

コメントを投稿