Struts2标签库笔记之常用标签

property:输出指定属性值

value=想要输出的属性名称

<s:property value="property"/>  

param:创建某参数 name=指定被设置的参数名 value=被设置参数的参数值,Object类型(字符串:'String…') id=引用该元素的id

<s:param name="user">test</s:param> <!--创建参数user="test" -->  
<%  
    User u = new User();  
    request.serAttribute("test",u);  
%>  
<s:param name="user" value="test"/> <!--创建参数user=Attribute中的test,即uuser=u-->  
<s:param name="user" valude="'test'"/><!--创建参数user="test"-->  

bean:创建一个JavaBean实例

存在以下类:

public class Person{  
    private String name;
    private int age;
    public String getName(){
        return name;
    }
    public int getAge{
        return age;
    }
    public void setName(String name){
        this.name=name;
    }
    public void setAge(int age){
        this.age=age;
    }
}

调用方法如:

<s:bean name="Person" id="P">  
    <s:param name="name" value="'Friskit'"/>  
    <s:param name="age" value="20"/>  
</s:bean>  
姓名:<s:property value="#P.name"/>  
年龄:<s:property value="#P.age"/>

注意:为bean设置id标签之后,该bean对象实例将会保存在OgnlContext中而不是ValueStack中,所以访问该对象时应该使用'#'

set:将某个值放入指定的范围内

name=被放置变量的名称
scope=有效范围:application|session|request|page|action 若未指定,则放置在OgnlContext中,需要用'#'访问
value=变量值,若未指定,则默认值为ValueStack
id:该元素的应用id
调用方法如:

<s:bean name="Person" id="p">  
    <s:param name="name" value="'Friskit'"/>  
    <s:param name="age" value="20"/>  
</s:bean>  
<!--将原本放在OgnlContext中的p值放入默认范围内(OgnlContext)-->  
<s:set name="p1" value="#p"/>  
姓名:<s:property value="#p1.name"/>  
年龄:<s:property value="#p1.age"/>  
<br>  
<!--将原本放在OgnlContext中的p值放入application范围内-->  
<s:set name="p2" value="#p" scope="application"/>  
姓名:<s:property value="#application.p2.name"/>  
年龄:<s:property value="#application.p2.age"/>  
<br>  
<!--将原本放在OgnlContext中的p值放入session范围内-->  
<s:set name="p3" value="#p" scope="session"/>  
姓名:<s:property value="#session.p3.name"/>  
年龄:<s:property value="#session.p3.age"/>  

include:包含一个jsp页面或者servlet页面

value=所包含内容的地址
id=该元素的应用id
调用方法如:

<s:include value="file.jsp"/>  

注,可为s:include设置多个param子标签,用以向value所指地址传递参数

url:url产生器

action=指定目标action(可选)
value=指定目标地址(与action标签二选一,若两者皆无,则将当前页面作为地址值)
includeParams=指定是否包含请求参数,可为none|get|all scheme=设定scheme属性
namespace=指定命名空间(只与action属性一同使用时有效)
method=指定只用action中的方法
encode=指定是否需要对请求参数进行编码
includeContext=指定是否要将当前上下文包含在URL中
anchor=指定URL的锚点 id=指定该url元素的id,使用该属性时,生成的url不会在页面上输出,但是可以通过id引用。
escapeAmp=指定是否将特殊符号&解析成实体&amp 调用方法如:

<!--指定value属性的形式,生成相对路径--><br>  
<s:url value="reg.action"/>  
<!--指定value属性的形式,生成绝对路径--><br>  
<s:url value="/reg.action"/>  
<hr/>  
<!--指定action属性,并且使用param传入参数-->  
<s:url action="reg">  
    <s:param name="method" value="'list'"/>  
</s:url>  
<!--指定action属性,和namespace联合使用--><br>  
<s:url action="reg" namespace="/admin">  
    <s:param name="method" value="'list'"/>  
</s:url>  
<hr/>  
<!--action和value都不指定,并且使用param传入参数-->  
<s:url includeParams="get">  
    <s:param name="userName" value="'Friskit'"/>  
</s:url>  

输出内容如下:

reg.action  
/Struts2_Test/reg.action  
------------------------  
/Struts2_Test/reg.action?method=list   
/Struts2_Test/admin/reg.action?method=list  
------------------------  
/Struts2_Test/tagsTest.jsp?userName=Friskit

Friskit

继续阅读此作者的更多文章