Struts框架下的struts标签库
html标签:替代基本的html元素。
bean标签:访问javaBean。
logic标签:for、if判断,程序结构的标签化。

1、bean:define标签
一是定义新字符串常量:
<bean:define id="foo" value="This is a new String"/>
<bean:define id="bar" value='<%= "Hello, " + user.getName() %>'/>
<bean:define id="last" scope="session" value='<%= request.getRequestURI() %>'/>
       
二是复制一个现有的bean给新的bean:
<bean:define id="foo" name="bar"/>    // 将名字为bar的JavaBean赋值给foo
<bean:define id="baz" name="bop" type="com.mycompany.MyClass"/> // 额外定义脚本变量的类型,默认为Object
       
三是复制一个现有的bean的属性给新的bean:
<bean:define id="bop" name="user" property="role[3].name"/>
<bean:define id="foo" name="bar" property="baz" scope="request" toScope="session"/>
//toScope属性指新bean的scope,默认为page  
上段代码的意思是把名为bar的bean的baz属性赋值给foo,foo的类型为String(默认)。

2、logic:empty标签
该标签是用来判断是否为空的。如果为空,该标签体中嵌入的内容就会被处理。该标签用于以下情况:
1)当Java对象为null时;
2)当String对象为""时;
3)当java.util.Collection对象中的isEmpty()返回true时;
4)当java.util.Map对象中的isEmpty()返回true时。
eg.
 <logic:empty   name="userList"> 
    ... 
 </logic:empty>
该句等同于:
 if   (userList.isEmpty())   { 
  ... 
 }
3、logic:present标签
此标签用于判断request对象传递参数是否存在。
eg1. user对象和它的name属性在request中都存在时,输出相应字符串:
<logic:present name="user" property="name">
  user对象和该对象的name属性都存在
</logic:present>
eg2. 若有一个名字为“user”的JavaBean,输出对应字符串:
<logic:present name="user" >
  有一个名字为“user”的JavaBean。
</logic:present>
4、bean:write标签
bean:write相当于<%=request.getAttribute("something")%> 其中something是属性的名字。
a.name,用来指定属性的名字
b.filter,用来指定是否屏蔽到属性值的HTML格式
c.property,用来指定name所代表的对象的属性名字
d.format,用来指定显示的时间,数字,日期等的格式
eg1.某处设置了request.setAttribute("hello","hello world");
则在某个jsp页面中,用struts的write标签取出并显示的方式如下:
<bean:write name="hello"/>,则页面上显示出hello world。
5、logic:equal标签
logic:equal 标签相当于一个判断语句,判断一个boolean类型的属性是否为真、假.
name属性:是指已经存在的一个Bean,在page,session,request范围中
property属性:是指这个Bean的一个属性,通常是boolean类型
value属性:其值有true,false;当为true时执行标签体内的代码,
<logic:equal name="music" property="distrubute" value="true">
      选中
</logic:equal>
<logic:equal name="music" property="distrubute" value="false">
      未选中
</logic:equal>
6、html:select标签