一口一口吃掉Struts(五)——测试Struts标签库

Struts标签库的使用和JSTL标签库使用方式类似。

认识可以了,建议熟练掌握JSTL标签库。struts标签库基本认识就可以了。

 

核心操作:

配置:  * 配置国际化支持,在struts-config.xml文件中加入如下配置:  <message-resources parameter="MessageResources" />  * 最好提供国际化资源文件(MessageResources.properties),将该文件放到src下   使用:  采用taglib引入  <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>       <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>   

 

测试代码:

ACTION

  1. package com.jialin;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.Date;  
  5. import java.util.List;  
  6.   
  7. import javax.servlet.http.HttpServletRequest;  
  8. import javax.servlet.http.HttpServletResponse;  
  9.   
  10. import org.apache.struts.action.Action;  
  11. import org.apache.struts.action.ActionForm;  
  12. import org.apache.struts.action.ActionForward;  
  13. import org.apache.struts.action.ActionMapping;  
  14.   
  15. public class TestAction extends Action {  
  16.   
  17.     @Override  
  18.     public ActionForward execute(ActionMapping mapping, ActionForm form,  
  19.             HttpServletRequest request, HttpServletResponse response)  
  20.             throws Exception {  
  21.         //普通字符串  
  22.         request.setAttribute("hello""helloworld");  
  23.         //html文本  
  24.         request.setAttribute("world""<font color='red'>Hello World!</font>");  
  25.         //日期  
  26.         request.setAttribute("today"new Date());  
  27.         //数字  
  28.         request.setAttribute("number"12345.1234);  
  29.           
  30.         Group group = new Group();  
  31.         group.setName("师院");  
  32.           
  33.         User user = new User();  
  34.         user.setUsername("张三");  
  35.         user.setAge(18);  
  36.         user.setGroup(group);  
  37.         //结构数据  
  38.         request.setAttribute("user", user);  
  39.           
  40.         //空  
  41.         request.setAttribute("attr1"null);  
  42.         request.setAttribute("attr2""");  
  43.         request.setAttribute("attr3"new ArrayList());  
  44.           
  45.       
  46.         //List  
  47.         List userList = new ArrayList();  
  48.           
  49.         for (int i=0; i<10; i++) {  
  50.             User user1 = new User();  
  51.             user1.setUsername("张三_" + i);  
  52.             user1.setAge(18 + i);  
  53.             user1.setGroup(group);  
  54.               
  55.             userList.add(user1);  
  56.         }  
  57.           
  58.         request.setAttribute("userlist", userList);  
  59.           
  60.         return mapping.findForward("showresult");  
  61.     }  
  62.   
  63. }  

User

  1. package com.jialin;  
  2.   
  3. public class User {  
  4.   
  5.     private String username;  
  6.       
  7.     private int age;  
  8.       
  9.     private Group group;  
  10.   
  11.     public String getUsername() {  
  12.         return username;  
  13.     }  
  14.   
  15.     public void setUsername(String username) {  
  16.         this.username = username;  
  17.     }  
  18.   
  19.     public int getAge() {  
  20.         return age;  
  21.     }  
  22.   
  23.     public void setAge(int age) {  
  24.         this.age = age;  
  25.     }  
  26.   
  27.     public Group getGroup() {  
  28.         return group;  
  29.     }  
  30.   
  31.     public void setGroup(Group group) {  
  32.         this.group = group;  
  33.     }  
  34. }  

Group

  1. package com.jialin;  
  2.   
  3. public class Group {  
  4.   
  5.     private String name;  
  6.   
  7.     public String getName() {  
  8.         return name;  
  9.     }  
  10.   
  11.     public void setName(String name) {  
  12.         this.name = name;  
  13.     }  
  14. }  

 

JSP

  1. <%@ page language="java" contentType="text/html; charset=GB18030"  
  2.     pageEncoding="GB18030"%>  
  3. <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>       
  4. <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>        
  5.   
  6.       
  7. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  8. <html>  
  9. <head>  
  10. <meta http-equiv="Content-Type" content="text/html; charset=GB18030">  
  11. <title>Insert title here</title>  
  12. </head>  
  13. <body>  
  14. <h1>测试beanwrite标签</h1>  
  15.     <li>普通字符串</li><br>  
  16. hello(标签):<bean:write name="hello"/>  
  17. <p></p>  
  18.     <li>html文本</li><br>  
  19. world(default):<bean:write name="world"/><br/>  
  20. world(filter true):<bean:write name="world" filter="true"/><br/>  
  21. world(filter false):<bean:write name="world" filter="false"/>  
  22. <p>  
  23.     <li>格式化日期</li><br>  
  24.     today(default):<bean:write name="today"/><br>  
  25.     today(format="yyyy-MM-dd HH:mm:ss"):<bean:write name="today" format="yyyy-MM-dd HH:mm:ss"/>  
  26.     <p>  
  27.     <li>格式化数字</li><br>  
  28.     n(default):<bean:write name="number"/><br>  
  29.     n(format="###,###.#####"):<bean:write name="number" format="###,###.#####"/><br>  
  30.     n(format="###,###.00000"):<bean:write name="number" format="###,###.00000#"/><br>  
  31.     <P>  
  32.     <li>结构</li><br>  
  33.     姓名:<input type="text" name="username" value="<bean:write name="user" property="username"/>"> <br>  
  34.     年龄:<input type="text" name="userage" value="<bean:write name="user" property="age"/>"> <br>  
  35.     所属组:<input type="text" name="usergroup" value="<bean:write name="user" property="group.name"/>"> <br>  
  36.     <h1>测试logic:empty,logic:notEmpty,logic:present,logic:notPresent</h1>  
  37.     <hr>  
  38.     <logic:empty name="attr1">  
  39.         atrr1为空<br>  
  40.     </logic:empty>  
  41.     <logic:notEmpty name="attr1">  
  42.         atrr1不为空<br>  
  43.     </logic:notEmpty>  
  44.     <logic:present name="attr1">  
  45.         atrr1存在<br>  
  46.     </logic:present>  
  47.     <logic:notPresent name="attr1">  
  48.         atrr1不存在<br>  
  49.     </logic:notPresent>  
  50.     <p>  
  51.     <logic:empty name="attr2">  
  52.         atrr2为空<br>  
  53.     </logic:empty>  
  54.     <logic:notEmpty name="attr2">  
  55.         atrr2不为空<br>  
  56.     </logic:notEmpty>  
  57.     <logic:present name="attr2">  
  58.         atrr2存在<br>  
  59.     </logic:present>  
  60.     <logic:notPresent name="attr2">  
  61.         atrr2不存在<br>  
  62.     </logic:notPresent>  
  63.     <p>  
  64.     <logic:empty name="attr3">  
  65.         atrr3为空<br>  
  66.     </logic:empty>  
  67.     <logic:notEmpty name="attr3">  
  68.         atrr3不为空<br>  
  69.     </logic:notEmpty>  
  70.     <logic:present name="attr3">  
  71.         atrr3存在<br>  
  72.     </logic:present>  
  73.     <logic:notPresent name="attr3">  
  74.         atrr3不存在<br>  
  75.     </logic:notPresent>  
  76.     <p>  
  77.       
  78.     <h1>测试迭代标签</h1>  
  79.     <hr>  
  80.     <table border="1">  
  81.         <tr>  
  82.             <td>姓名</td>  
  83.             <td>年龄</td>  
  84.             <td>所属组</td>  
  85.         </tr>  
  86.         <logic:empty name="userlist">  
  87.             <tr>  
  88.                 <td colspan="3">没有符合条件的数据</td>  
  89.             </tr>  
  90.         </logic:empty>  
  91.         <logic:notEmpty name="userlist">  
  92.             <logic:iterate id="user" name="userlist">  
  93.                 <tr>  
  94.                     <td>  
  95.                         <bean:write name="user" property="username"/>  
  96.                     </td>  
  97.                     <td>  
  98.                         <bean:write name="user" property="age"/>  
  99.                     </td>  
  100.                     <td>  
  101.                         <bean:write name="user" property="group.name"/>  
  102.                     </td>  
  103.                 </tr>  
  104.             </logic:iterate>  
  105.         </logic:notEmpty>  
  106.     </table>  
  107. </body>  
  108. </html>  

测试结果:

 

下篇继续……

 

posted @ 2013-10-15 14:56  huidaoli  阅读(135)  评论(0编辑  收藏  举报