一、Struts标签库。
Struts实际上包含了4个标签库:bean,logic,html,tiles
bean:用来在属性范围中定义或取得属性的,同时可以读取资源文件信息
logic:替代JSTL中的判断和循环
html:替代页面表单,完成自动回填以及错误信息的显示
tiles:美工标签,用来进行页面布局的调整以及样式管理的。
二、各个标签库的实例
下面利用实例来为大家降解三个标签库: beanwrite标签库、logic标签库、iterate标签库
2.1 beanwrite标签
实现效果:
代码:
2.1.1、配置Struts环境
2.1.2、编写bean_write.jsp
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> <!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><br> <hr> <li>普通字符串</li><br> hello(标签):<bean:write name="hello"/> <p> <li>html文本</li><br> bj(default):<bean:write name="bj"/> <br> bj(filter:"true"):<bean:write name="bj" filter="true"/> <br> bj(filter:"false"):<bean:write name="bj" filter="false"/> <p> <li>user</li><br> 姓名:<input type="text" name="username" value="<bean:write name='user' property='username'/>"><br> 年龄:<input type="text" name="age" value="<bean:write name='user' property='age'/>"><br> 所属组:<input type="text" name="group" value="<bean:write name='user' property='group.name'/>"><br> </body> </html>
2.1.3、编写BeanWriteTestAction.java
package com.bjpowernode.struts; import java.util.Date; 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; /** * 测试beanWrite标签 * @author IT * */ public class BeanWriteTestAction extends Action { @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { //普通字符串 request.setAttribute("hello", "helloword"); //html文本 request.setAttribute("bj", "<font color='red'>北京欢迎你</font>"); //日期 request.setAttribute("today",new Date()); Group group=new Group(); group.setName("动力节点"); User user=new User(); user.setUsername("张三"); user.setAge(22); user.setGroup(group); request .setAttribute("user", user); return mapping.findForward("success"); } }
2.1.4、编写实体类
User.java
package com.bjpowernode.struts; /** * User实体 * @author IT * */ 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.java
package com.bjpowernode.struts; /** * 组的实体类 * @author IT * */ public class Group { //组名 private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }
2.1.5、struts-config.xml配置
<?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd"> <struts-config> <action-mappings> <action path="/beanwrite" type="com.bjpowernode.struts.BeanWriteTestAction" > <forward name="success" path="/bean_write.jsp"></forward> </action> </action-mappings> </struts-config>