注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

星野的石棺

木乃伊的棺材里也许就有些什么好东西也说不定........

 
 
 

日志

 
 
关于我

没什么可说的。。。。懒的干任何事情。

网易考拉推荐

关于Struts 的Logic标签(网上找来的)  

2007-07-12 10:55:56|  分类: Java |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Struts 的Logic标签可以根据特定的逻辑条件来判断网页的内容,或者循环遍历集合元素,它和HTML,Bean标签是Struts应用种最常用的三个标签.它 的功能主要是比较运算,进行字符串的匹配,判断指定的内容是否存在,循环遍历集合,进行请求转发和重定向,下面具体的说明标签的用途:

<logic:equal>变量等于指定的常量

<logic:notEqual>变量不等于指定的常量

<logic:lessThan>变量小于指定的常量

<logic:lessEqual>变量小于或者等于指定的常量

<logic:geraterThan>变量大于指定的常量

<logic:geraterEqual>变量大于或等于指定的常量

以上这些标签都很类似, 有共同的属性,cookie属性指定cookie属性的值,然后用value设置的常量进行比较.header属性设置header请求头的值,也是通过 value属性设置的值进行比较.parameter属性设置一个请求参数,然后也是通过value属性设置的值进行比较.name属性设置一个变量,然 后用value比较.如果同时设置了name和property属性,此时name属性指定已经存在的JavaBean,property属性指定 Bean的属性.这个标签感觉十分简单,用法也十分单一,下面研究一下进行字符串匹配的标签和判断特定内容的标签.

< logic:match>标签是判断变量种是否包含常量字符串的,<logic:netMatch>也判断是否不包含字符串的,用 name属性定义一个字符串变量,然后用value属性的值去判断变量是否包含这个字符串或者是不包含这个字符串,判断成功返回true.

<logic:empty>和<logic:netEmpty>标签可以判断指定的变量是否为空的字符串,可以通过name属性来判断一个字符串是否为null.例如是请求参数的字符串.

< logic:present>和<logic:notPresent>标签可以判断指定的对象是否为空,这个标签的属性很多. cookie属性判断Cookie是否存在.Header属性判断HTPP请求头是否存在.role属性是判断当前的权限的用户是否是指定的安全角色. user属性是判断当前通过权限验证的用户是否拥有指定的用户名.parameter属性是判断请求的参数是否存在.name属性是用来判断指定的 Bean是否存在.同时设置name和property属性就是判断Bean种的具体属性是否存在了.

< logic:messagesPresent>和<logic:messagesNotPresent>标签是用来判断是否在 request范围内的特定的ActionMessages或者是子类ActionErrors对象.name属性是用来检索 ActionMessages对象的key,property指定从ActionMessages集合对象中检索某条消息key也就是具体的 ActionMessage对象.

进行循环遍历Logic标签是Logic标签库中最复杂的标签,也是用途最广泛的标签,它能够在一个循环中遍历数组,Collection,Enumeration,Irerator或者Map中的所有元素

1)              遍历集合的标签< logic:iterate>的name属性指定需要进行遍历的集合对象,它每次从集合中检索出一个元素,然后存放在page范围内,并以id属性 指定这个字符串来命名这个元素,最好是在里面嵌套一个<bean:write>标签,把刚刚遍历的第一个id指定的字符串输出,然后在循环在 输出.length属性需要遍历的元素的数目,如果没有设置length属性,就遍历集合中的所有元素.offset属性指定开始遍历的其实位置,默认值 是0.indexId属性定义一个代表当前被遍历元素的系列号,这个变量存放在page范围内,可以被<bean:write>标签访问输出 输出的是int的数字.例如1.2.3.4等.可以用户输出输出的元素的系列号.

2)              遍历Map 是通过<logic:iterate>标签,name属性指定一个HashMap,存放在request范围,然后赋给id指定的变量, indexId可以指定索引编号,然后通过<bean:write>标签输出出来.在HashMap的每一个元素都是一个集合对象,所以可以 嵌套使用.就是说<logic:inerate>这个标签既可以把Collection的元素弄出来负给一个变量也可以弄Map的.所以说它 的功能强大.还有一个collection属性可以设置一个表达式,这个表达式返回的结果可以作为,<logic:inerate>标签输出 的集合或者Map.这个属性类似name属性.

最后研究一下进行请求转发和重定向的Logic 标签,<logic:forward>标签用于请求转发,它的name属性指定转发的目标,与Struts配置文件中的<global -forwards>元素和的子元素<forward>元素匹配.简单的说就是<logic:forward>标签的 name属性定义的值,要去找到<golbal-forwards>子元素<forward>元素的匹配的name属性,然后通 过path指定的路径进行转发.重定向用<logic:redierct>标签它的forward,href和page属性指定重定向的目 标,这几个属性和<html:link>标签的属性用法十分相似.


  评论这张
 
阅读(152)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017