WebWork标签手册

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

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对象的多个字段:ww:propertyvalue=”#session[‘user’].username”/ww:propertyvalue=”#session[‘user’].age”/ww:propertyvalue=”#session[‘user’].address”/但每次都重复使用#session[‘user’],更好的做法是定义一个临时变量:ww:setname=”user”value=”#session[‘user’]”/ww:propertyvalue=”#user.username”/ww:propertyvalue=”#user.age”/ww:propertyvalue=”#user.address”/3、push标签功能:将对象的引用压入值栈,当需要围绕单个对象做大量操作的时候,可以将对象压入值栈之后直接对其进行操作。属性:value[Object]需要压入值栈的值所对应的表达式范例:上例也可以进行如下操作:ww:setname=uservalue=#session['user']/ww:pushvalue=#userww:propertyvalue=username/brww:propertyvalue=email/brww:propertyvalue=address/br/ww:push再如:用同一个页面输出不同实例的属性Test_push_include1.jsp%@taglibprefix=wwuri=webwork%htmlheadtitleNamePage/title/headbodyww:setname=user1value=#session['user']/ww:pushvalue=#user1ww:includevalue=push_include.jsp//ww:push/body/htmlTest_push_include2.jsp%@taglibprefix=wwuri=webwork%htmlheadtitleNamePage/title/headbodyww:setname=user2value=#session['user']/ww:pushvalue=#user2jsp:includepage=push_include.jsp//ww:push/body/htmlPush_include.jsp%@taglibprefix=wwuri=webwork%htmlheadtitleRegpage/title/headbodyH3LoginInfo/H3ww:propertyvalue=username/brww:propertyvalue=email/brww:propertyvalue=address/br/body/html4、bean标签功能:创建简单的JavaBean,并将其压入值栈中,在bean标签的起始与结束标记之间,除了可以将JavaBean压入值栈之外,还可以任意地把JavaBean赋值给某个变量,以便让其在actioncontext中能够访问,实现类似set标签的功能。属性:name[String]被创建的bean对应的包和类名id[String]如果需要在bean标签的范围之外引用bean对象,那么就应当通过id属性设置引用名称参数:bean标签可以包含param标签,可以通过提供的参数定制标签,设定bean的属性。范例:ww:beanname=com.example.Userid=userww:paramname=usernameadmin/ww:paramww:paramname=emailadmin@example.com/ww:paramww:paramname=addressInnerMongoliaHuhehot/ww:paramH3Inner:/H3Username:ww:propertyvalue=username/brE-mail:ww:propertyvalue=email/brAddress:ww:propertyvalue=address/br/ww:beanH3Out:/H3Username:ww:propertyvalue=#user.username/brE-Mail:ww:propertyvalue=#user.email/brAddress:ww:propertyvalue=#user.address/brww:beanname=com.opensymphony.webwork.util.Counterid=counterww:paramname=lastvalue=100//ww:beanww:iteratorvalue=#counterliww:property//li/ww:iterator5、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=wwuri=webwork%htmlheadtitleListPage/title/headbodyH2UserRegistor:/H2ww:actionname=reglistexecuteResult=true//body/html二、控制标签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=wwuri=webwork%htmlheadtitleListPage/title/headbodytableww:iteratorvalue=usersstatus=rowstatusww:iftest=#rowstatus.eventrtdww:propertyvalue=username//tdtdww:propertyvalue=email//tdtdww:propertyvalue=address//td/tr/ww:ifww:elsetrtdfontcolor=redww:propertyvalue=username//font/tdtdfontcolor=redww:propertyvalue=email//font/tdtdfontcolor=redww:propertyvalue=address//font/td/tr/ww:else/ww:iterator/table/body/html2、if标签和else标签功能:控制输出呈现,可以单独使用if标签,也可以结合elseif标签和else标签一起使用,else标签没有任何属性,而if和elseif只有一个属性test。属性:test[Boolean]用于求值并返回true或false的布尔表达式。范例:%@taglibprefix=wwuri=webwork%htmlheadtitleListPage/title/headbodytableww:iteratorvalue=usersstatus=rowstatusww:iftest=#rowstatus.firsttrbgcolor=bluetdww:propertyvalue=username//tdtdww:propertyvalue=email//tdtdww:propertyvalue=address//td/tr/ww:ifww:elseiftest=#rowstatus.lasttrbgcolor=yellowtdww:propertyvalue=usern

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功