一口一口吃掉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
- package com.jialin;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.struts.action.Action;
- import org.apache.struts.action.ActionForm;
- import org.apache.struts.action.ActionForward;
- import org.apache.struts.action.ActionMapping;
- public class TestAction extends Action {
- @Override
- public ActionForward execute(ActionMapping mapping, ActionForm form,
- HttpServletRequest request, HttpServletResponse response)
- throws Exception {
- //普通字符串
- request.setAttribute("hello", "helloworld");
- //html文本
- request.setAttribute("world", "<font color='red'>Hello World!</font>");
- //日期
- request.setAttribute("today", new Date());
- //数字
- request.setAttribute("number", 12345.1234);
- Group group = new Group();
- group.setName("师院");
- User user = new User();
- user.setUsername("张三");
- user.setAge(18);
- user.setGroup(group);
- //结构数据
- request.setAttribute("user", user);
- //空
- request.setAttribute("attr1", null);
- request.setAttribute("attr2", "");
- request.setAttribute("attr3", new ArrayList());
- //List
- List userList = new ArrayList();
- for (int i=0; i<10; i++) {
- User user1 = new User();
- user1.setUsername("张三_" + i);
- user1.setAge(18 + i);
- user1.setGroup(group);
- userList.add(user1);
- }
- request.setAttribute("userlist", userList);
- return mapping.findForward("showresult");
- }
- }
User
- package com.jialin;
- public class User {
- private String username;
- private int age;
- private Group group;
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- public Group getGroup() {
- return group;
- }
- public void setGroup(Group group) {
- this.group = group;
- }
- }
Group
- package com.jialin;
- public class Group {
- private String name;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- }
JSP
- <%@ page language="java" contentType="text/html; charset=GB18030"
- pageEncoding="GB18030"%>
- <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
- <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=GB18030">
- <title>Insert title here</title>
- </head>
- <body>
- <h1>测试beanwrite标签</h1>
- <li>普通字符串</li><br>
- hello(标签):<bean:write name="hello"/>
- <p></p>
- <li>html文本</li><br>
- world(default):<bean:write name="world"/><br/>
- world(filter true):<bean:write name="world" filter="true"/><br/>
- world(filter false):<bean:write name="world" filter="false"/>
- <p>
- <li>格式化日期</li><br>
- today(default):<bean:write name="today"/><br>
- today(format="yyyy-MM-dd HH:mm:ss"):<bean:write name="today" format="yyyy-MM-dd HH:mm:ss"/>
- <p>
- <li>格式化数字</li><br>
- n(default):<bean:write name="number"/><br>
- n(format="###,###.#####"):<bean:write name="number" format="###,###.#####"/><br>
- n(format="###,###.00000"):<bean:write name="number" format="###,###.00000#"/><br>
- <P>
- <li>结构</li><br>
- 姓名:<input type="text" name="username" value="<bean:write name="user" property="username"/>"> <br>
- 年龄:<input type="text" name="userage" value="<bean:write name="user" property="age"/>"> <br>
- 所属组:<input type="text" name="usergroup" value="<bean:write name="user" property="group.name"/>"> <br>
- <h1>测试logic:empty,logic:notEmpty,logic:present,logic:notPresent</h1>
- <hr>
- <logic:empty name="attr1">
- atrr1为空<br>
- </logic:empty>
- <logic:notEmpty name="attr1">
- atrr1不为空<br>
- </logic:notEmpty>
- <logic:present name="attr1">
- atrr1存在<br>
- </logic:present>
- <logic:notPresent name="attr1">
- atrr1不存在<br>
- </logic:notPresent>
- <p>
- <logic:empty name="attr2">
- atrr2为空<br>
- </logic:empty>
- <logic:notEmpty name="attr2">
- atrr2不为空<br>
- </logic:notEmpty>
- <logic:present name="attr2">
- atrr2存在<br>
- </logic:present>
- <logic:notPresent name="attr2">
- atrr2不存在<br>
- </logic:notPresent>
- <p>
- <logic:empty name="attr3">
- atrr3为空<br>
- </logic:empty>
- <logic:notEmpty name="attr3">
- atrr3不为空<br>
- </logic:notEmpty>
- <logic:present name="attr3">
- atrr3存在<br>
- </logic:present>
- <logic:notPresent name="attr3">
- atrr3不存在<br>
- </logic:notPresent>
- <p>
- <h1>测试迭代标签</h1>
- <hr>
- <table border="1">
- <tr>
- <td>姓名</td>
- <td>年龄</td>
- <td>所属组</td>
- </tr>
- <logic:empty name="userlist">
- <tr>
- <td colspan="3">没有符合条件的数据</td>
- </tr>
- </logic:empty>
- <logic:notEmpty name="userlist">
- <logic:iterate id="user" name="userlist">
- <tr>
- <td>
- <bean:write name="user" property="username"/>
- </td>
- <td>
- <bean:write name="user" property="age"/>
- </td>
- <td>
- <bean:write name="user" property="group.name"/>
- </td>
- </tr>
- </logic:iterate>
- </logic:notEmpty>
- </table>
- </body>
- </html>
测试结果:
下篇继续……
huidaoli版权所有:转载请注明出处,谢谢合作!