牛骨文教育服务平台(让学习变的简单)

一、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>