struts的五类标签库

 
  
 
  
 
  
一、Struts标签库概述

Struts的五类标签库
	Bean Tags :用来创建bean、访问bean
	HTML Tags :用来创建 html 页面的动态元素,对html进行了封装;
	Logic Tags:逻辑判断、集合迭代和流程控制。
	Nested Tags:该标签库建立在前三个标签库的基础上,具有前三个标签库的所有功能,只是允许标签间的嵌套。
	Tiles Tags :该标签库包含的标签可以用来创建tiles样式的页面。

重点学习前3类标签库


二、Bean标签
	可以看成  的增强版,
	它可以定义bean :获取某些数据(cookie,请求参数,请求头),将之定义成一个脚本变量,并同时置于某个作用域(缺省pagaContext)中;

bean标签的公共属性:
	id - 定义一个变量
	name - 引用一个存在的bean或对象的名字
	property - 被引用的bean的属性
	scope - 放置或搜索bean的范围,若没有制定,则依次 page--request---session--application

1.
	作用: 把一个bean 或其属性, 定义成一个变量

	* 通过定义的变量可以通过JSP脚本、EL以及Struts本身的标记访问。
	Example1:
	1)定义一个Java bean:student,并且对其属性进行赋值
	2)通过定义stuName、stuAge、stuGender三个变量,将student这个对象的属性值赋值给这些变量
		
		
		
	3)输出
		<%=stuName%>
		${stuAge }
		


	* 如果JavaBean的属性是List等类型,可以指定type属性
	Example2:
	1)在Java Bean中添加List属性,并提供get/set方法。
		private List songs;
		public List getSongs() {
			List list = new ArrayList();
			list.add("我爱北京天安门");
			list.add("我和你");
			list.add("我不做大哥好多年");
			return list;
		}
	2)
	3)输出
		${mySongs[0] }
	
	* 定义新变量,例如:
		


2.
	作用: 输出 bean 或bean属性;
	等价于:
	${} 或者 <%= %>



3.
	作用:读取属性静态文本内容,支持国际化(i18n)

	Example:
	1)确认在类路径上含有
	com/ApplicationResources.properties
	2)在文件中加入key,value对
	page.title=/u9875/u9762/u6807/u9898
	3)提供message.jsp
		使用


4.
	作用:获得一个集合或者数组的大小

	Example:
	1)定义Java Bean : student
	2)读取student这个java bean的songs的size
		
  		
	3)输出songsize值

	Exapmple:定义一个列表,输出其size,要求使用获取该值
	1)<%定义一个List,并初始化%>
	2)使用
		
	  获取值
		注意:如果使用${},必须要把list放置到范围对象中
	3)输出

5.
	作用:读取请求头中cookie的信息
	* 
		获得指定的名为 "customid" 的coockie,并将其赋值给脚本变量 cid
	* 若找不到id为costCookie这个cookie,所以系统创建一个cookie,并将它的值设置为$100
	  
	 输出:
		

6.
	作用:获取请求头的属性信息
	
	
	


7.
	作用:对指定url(由forward、href或page确定)处的资源做一个请求,
	将响应数据作为一个String类型的bean绑定到page作用域,
	同时创建一个scripting变量。我们可以通过id值访问它们。

	Example:
	1)在根目录下定义一个文件:include.txt
	2)获取文件的内容数据,并赋于words
	
	3)输出内容

8.
	作用:获取指定的资源,以String或者InputStream的方式来读取,其中input属性是决定了对应的方式。
	默认(false)是以字符串的方式来读取。
	例如:
	
	

9.
	作用:取出url中queryString中指定参数名称的值
	例子:
		
		只会读取第一个名字为"action"的参数

		
		把url中queryString中名字叫hobby的所有值赋值给变量ps,所以ps应该是一个数组

10.
	作用:把pageContext中的特定的隐含对象(application, request, response, config, session)取出来,
	绑定到某个id中,本页的其他地方就可以使用id来操纵这些隐含对象了。

	Example:
	
	

	
	
	
	
	

三、HTML标签库
使用taglib指令引入标签库
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>

通常是配合bean标签一起使用,是struts中最常用的标签之一。

1.
	作用:对html的form表单进行简单的封装,满足struts中表单请求的处理
	
		
	
	如果你有上述一个标签,那么你的Struts配置文件的元素中必须有一个如下内容:
	
		
			
			
		
	
	这就是说一个form标签是和form bean相关联的。
	任何包含在
中用来接收用户输入的标签 (