论坛首页 Java企业应用论坛

Struts-logic标签库的作用

浏览 2028 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2011-03-10  
  Struts的Logic标签可以根据特定的逻辑条件来判断网页的内容,或者循环遍历集合元素,它和HTML,Bean标签是Struts应用种最常用的三个标签.它的功能主要是比较运算,进行字符串的匹配,判断指定的内容是否存在,循环遍历集合,进行请求转发和重定向。
  基本格式:
<logic:iterate id=“” name=“” scope=“”>
    ……..
</logic:iterate>

eg1. 逐一输出用户列表(userlList)中用户的姓名:
  <logic:iterate  id="user" name="userList">
    <bean:write name="user" property="name"/><br>
  </logic:iterate>

<logic:forward>标签用于请求转发,它的name属性指定转发的目标,与Struts配置文件中的<global-forwards>元素和的子元素<forward>元素匹配.简单的说就是<logic:forward>标签的name属性定义的值,要去找到<golbal-forwards>子元素<forward>元素的匹配的name属性,然后通过path指定的路径进行转发.

重定向用<logic:redierct>标签,它的action,forward,href和page属性指定重定向的目标,这几个属性和<html:link>标签的属性用法十分相似.

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

该标签是用来判断是否为空的。如果为空,该标签体中嵌入的内容就会被处理。该标签用于以下情况:
         1)当Java对象为null时;
         2)当String对象为""时;
         3)当java.util.Collection对象中的isEmpty()返回true时;
         4)当java.util.Map对象中的isEmpty()返回true时。

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

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

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

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

注意:判断变量和判断bean的属性值的用法


bean:write:以字符串形式输出bean的属性值。
filter属性:设为true时,将HTML保留字转换为实体("<" 转换为 &lt);
format属性:格式化输出小数位数
ignore属性:如果对象不存在,不会抛出异常。
<bean:write name="userRegistration" property="email" scope="request"/>
用来重新得到cookie, request header和request parameter。
bean:header和bean:parameter标签定义了一个字符串;bean:cookie标签定义了一个Cookie对象。你可以使用value属性做为默认值。如果找不到指定的值,且默认值没有设定的话,会抛出一个request time异常。如果你期望返回多个值的话,可把multiple属性设为true。
<bean:cookie id="sessionID" name="JSESSIONID" value="JSESSIONID-ISUNDEFINED"/>

论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics