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
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()) {
...
}
此标签用于判断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>
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。
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>