8WebWork标签库.docx

上传人:b****7 文档编号:9061509 上传时间:2023-02-03 格式:DOCX 页数:15 大小:19.29KB
下载 相关 举报
8WebWork标签库.docx_第1页
第1页 / 共15页
8WebWork标签库.docx_第2页
第2页 / 共15页
8WebWork标签库.docx_第3页
第3页 / 共15页
8WebWork标签库.docx_第4页
第4页 / 共15页
8WebWork标签库.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

8WebWork标签库.docx

《8WebWork标签库.docx》由会员分享,可在线阅读,更多相关《8WebWork标签库.docx(15页珍藏版)》请在冰豆网上搜索。

8WebWork标签库.docx

8WebWork标签库

WebWork标签库

一、数据标签

数据标签可以从值栈中获取数据之余,还可以将变量和对象存储于值栈中。

1、property标签

功能:

输出OGNL表达式的值

属性:

●value

[Object]进行求值的表达式,如果未指定该属性,则将被设定为top

●default

[String]如果依据value无法得到值,则使用default指定的默认值

●escape

[Boolean]确定是否将输出的内容进行HTML转义

2、set标签

功能:

用于对值栈中的表达式进行求值,并将结果赋给特定作用域中的某个变量名。

属性:

●name

[String]在一个指定的作用域内被赋值的变量名

●value

[Object]希望用于赋值的表达式

●scope

[String]可选的值为:

application、session、request、page或default。

默认(default)即actioncontext,set标签将对象放置于actioncontext中。

其他4种作用域直接对应于servlet应用程序的4个作用域。

范例:

使用property标签访问存储在session中的User对象的多个字段:

propertyvalue=”#session[‘user’].username”/>

propertyvalue=”#session[‘user’].age”/>

propertyvalue=”#session[‘user’].address”/>

但每次都重复使用#session[‘user’],更好的做法是定义一个临时变量:

setname=”user”value=”#session[‘user’]”/>

propertyvalue=”#user.username”/>

propertyvalue=”#user.age”/>

propertyvalue=”#user.address”/>

3、push标签

功能:

将对象的引用压入值栈,当需要围绕单个对象做大量操作的时候,可以将对象压入值栈之后直接对其进行操作。

属性:

●value

[Object]需要压入值栈的值所对应的表达式

范例:

上例也可以进行如下操作:

setname="user"value="#session['user']"/>

pushvalue="#user">

propertyvalue="username"/>

propertyvalue="email"/>

propertyvalue="address"/>

push>

再如:

用同一个页面输出不同实例的属性

Test_push_include1.jsp

<%@taglibprefix="ww"uri="webwork"%>

NamePage

setname="user1"value="#session['user']"/>

pushvalue="#user1">

includevalue="push_include.jsp"/>

push>

Test_push_include2.jsp

<%@taglibprefix="ww"uri="webwork"%>

NamePage

setname="user2"value="#session['user']"/>

pushvalue="#user2">

includepage="push_include.jsp"/>

push>

Push_include.jsp

<%@taglibprefix="ww"uri="webwork"%>

Regpage

LoginInfo

propertyvalue="username"/>

propertyvalue="email"/>

propertyvalue="address"/>

4、bean标签

功能:

创建简单的JavaBean,并将其压入值栈中,在bean标签的起始与结束标记之间,除了可以将JavaBean压入值栈之外,还可以任意地把JavaBean赋值给某个变量,以便让其在actioncontext中能够访问,实现类似set标签的功能。

属性:

●name

[String]被创建的bean对应的包和类名

●id

[String]如果需要在bean标签的范围之外引用bean对象,那么就应当通过id属性设置引用名称

参数:

bean标签可以包含param标签,可以通过提供的参数定制标签,设定bean的属性。

范例:

beanname="com.example.User"id="user">

paramname="username">admin

param>

paramname="email">admin@

param>

paramname="address">InnerMongoliaHuhehot

param>

Inner:

Username:

propertyvalue="username"/>

E-mail:

propertyvalue="email"/>

Address:

propertyvalue="address"/>

bean>

Out:

Username:

propertyvalue="#user.username"/>

E-Mail:

propertyvalue="#user.email"/>

Address:

propertyvalue="#user.address"/>

beanname="com.opensymphony.webwork.util.Counter"id="counter">

paramname="last"value="100"/>

bean>

iteratorvalue="#counter">

  • property/>

  • iterator>

    5、action标签

    功能:

    在JSP页面中执行action并访问相应的数据。

    默认情况下,action标签并不执行action的result,这样可以让那些可能呈现另外一个不同页面的action能够正常工作。

    属性:

    ●name

    [String]action名

    ●namespace

    [String]action的namespace,默认值为当前页面所在的namespace

    ●id

    [String]引用actionbean所需的名称,以便在页面后面的部分引用

    ●executeResult

    [Boolean]当设置为true时,会执行action对应的result,默认为false。

    范例:

    <%@taglibprefix="ww"uri="webwork"%>

    ListPage

    UserRegistor:

    actionname="reglist"executeResult="true"/>

    二、控制标签

    1、iterator标签

    功能:

    循环遍历任何集合对象,包括Collection、Map、Enumeration、Iterator及array(数组),同时也可以在actioncontext中定义一个变量,用于确定与当前循环状态相关的基本信息。

    属性:

    ●value

    [Collection、Map、Enumeration、Iterator或array]被循环遍历的对象

    ●status

    [String]如果设置了该属性,IteratorStatus对象就会被放置在actioncontext中。

    IteratorStatus源代码:

    packagecom.opensymphony.webwork.views.jsp;

    publicclassIteratorStatus{

    protectedStatusStatestate;

    publicIteratorStatus(StatusStateaState){

    state=aState;

    }

    publicintgetCount(){

    returnstate.index+1;

    }

    publicbooleanisEven(){

    return((state.index+1)%2)==0;

    }

    publicbooleanisFirst(){

    returnstate.index==0;

    }

    publicintgetIndex(){

    returnstate.index;

    }

    publicbooleanisLast(){

    returnstate.last;

    }

    publicbooleanisOdd(){

    return((state.index+1)%2)==1;

    }

    publicintmodulus(intoperand){

    return(state.index+1)%operand;

    }

    publicstaticclassStatusState{

    booleanlast=false;

    intindex=0;

    publicvoidsetLast(booleanisLast){

    last=isLast;

    }

    publicvoidnext(){

    index++;

    }

    }

    }

    范例:

    使用IteratorStatus。

    <%@taglibprefix="ww"uri="webwork"%>

    ListPage

    iteratorvalue="users"status="rowstatus">

    iftest="#rowstatus.even">

    if>

    else>

    else>

    iterator>

    propertyvalue="username"/>

    propertyvalue="email"/>

    propertyvalue="address"/>

    propertyvalue="username"/>

    propertyvalue="email"/>

    propertyvalue="address"/>

    2、if标签和else标签

    功能:

    控制输出呈现,可以单独使用if标签,也可以结合elseif标签和else标签一起使用,else标签没有任何属性,而if和elseif只有一个属性test。

    属性:

    ●test

    [Boolean]用于求值并返回true或false的布尔表达式。

    范例:

    <%@taglibprefix="ww"uri="webwork"%>

    ListPage

    iteratorvalue="users"status="rowstatus">

    iftest="#rowstatus.first">

    if>

    elseiftest="#rowstatus.last">

    elseif>

    elseiftest="#rowstatus.odd">

    elseif>

    else>

    else>

    iterator>

    三、杂项标签

    1、include标签

    功能:

    可参数化的include标签,与WebWork集成在一起提供更多的高级特性。

    属性:

    ●value

    [String]页面名称、action、servlet或任何可引用的URL。

    优点:

    ✓提供对值栈的访问能力

    ✓提供更具扩展性的参数模型

    如:

    包含一个页面,同时利用值栈对该页面中使用了%{…}符号的内容进行求值。

    也可以使用

    param>标签对include标签增加参数,而param标签同样以来于值栈,比

    include>标签更易于使用。

    2、URL标签

    功能:

    生成使用相对路径或者绝对路径的URL,处理参数,以及对URL进行编码,以便让没有启用cookie的浏览器使用。

    属性:

    ●value

    [String]基本的URL,用来生成URL的基本信息,默认值为生成当前页面的URL。

    ●includeParams

    [String]从all、get或none中选择参数,默认为get。

    在默认情况下,WebWork包含当前页面的所有查询字符串;如果不希望包含任何参数,那么将该属性设置为none;可以通过设置为all,使得所有参数都可用于URL的生成,包括通过post提交的参数。

    ●id

    [String]如果指定了该属性,那么URL将不会输出,而是会保存于actioncontext,以作后用。

    ●includeContext

    [Boolean]如果为true,那么生成的URL前面会加上应用程序所在的上下文(context)路径,默认为true。

    ●encode

    [Boolean]如果访问者并没有启用cookie,那么将会在URL中增加sessionID。

    ●scheme

    [String]可以指定协议,默认为当前的设置(HTTP或者HTTPS)。

    WebWork使用默认的80端口监听HTTP请求,而使用443端口监听HTTPS端口,如果要更改,可以在webwork.properties文件中重新定义。

    webwork.url.http.port=8080

    webwork.url.https.port=8081

    范例:

    URL标签

    结果

    url/>

    /7_tag_url/

    urlscheme="ftp"/>

    ftp:

    //127.0.0.1/7_tag_url/

    urlvalue=""/>

    urlvalue="

    paramname="q">java

    param>

    url>

    urlvalue="id="java">

    paramname="k">java

    param>

    url>

    propertyvalue="#java"/>">

    searchjavainsina

    searchjavainsina

    urlvalue="/test.html"id="test"/>

    propertyvalue="#test"/>">

    Test1

    Test1

    urlvalue="/test.html"id="test"includeContext="false"/>

    propertyvalue="#test"/>">

    Test1

    Test1

    3、i18n和text标签

    国际化支持

    Øtext标签

    功能:

    显示特定语言的文本,是基于键查询的标签

    属性:

    ●name

    [String]用于在ResourceBundle中进行查找的键。

    ●id

    [String]如果设置了该属性,则文本内容将会存储于actioncontext中,可以通过属性值的名称进行引用。

    ●value0

    [Object]参数1

    ●value1

    [Object]参数2

    ●value2

    [Object]参数3

    ●value3

    [Object]参数4

    Øi18n标签

    功能:

    将资源包的内容压入栈中,可以在标签内部访问与资源包相关的i18n的资源。

    属性:

    ●name

    [String]资源包的名称。

    4、param标签

    功能:

    对其他标签提供作用。

    属性:

    ●name

    [String]应用于父标签的参数名称

    ●value

    [Object]一个OGNL表达式,结果为被应用的值。

    范例:

    paramname="username"value="'admin'"/>

    paramname="username">admin

    param>

    展开阅读全文
    相关搜索

    当前位置:首页 > 工作范文 > 演讲主持

    copyright@ 2008-2022 冰豆网网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    propertyvalue="username"/>

    propertyvalue="email"/>

    propertyvalue="address"/>

    propertyvalue="username"/>

    propertyvalue="email"/>

    propertyvalue="address"/>

    propertyvalue="username"/>

    propertyvalue="email"/>

    propertyvalue="address"/>

    propertyvalue="username"/>

    propertyvalue="email"/>

    propertyvalue="address"/>