Struts-Logic 标签库

转载 2007年09月27日 17:06:00

此标签库可以分为三种类型:条件、循环、转发/重定向。

一.) 条件类型

  1. logic:empty和logic:notEmpty
    logic:empty标签判断脚本变量是否为null,是否是一个空的字符串(长度为0),是否是一个空的collection或map(调用isEmpty()方法来判断)。logic:notEmpty标签类似。
     <logic:empty name="myBean">
       The bean is missing
     </logic:empty>
     <logic:notEmpty name="myBean">
       The bean is not missing
     </logic:notEmpty>
    上段代码表示当一个名为myBean的bean在所有的scope中都不存在时,输出The bean is missing;存在的话输出The bean is not missing。
    此标签有三个属性:name、property和scope。
  2. logic:equal, logic:notEqual, logic:lessThan, logic:greaterThan,logic:lessEqual, and logic:greaterEqual
    这堆logic:*equal*标签从名字上就能知道意思,它们使用起来有些笨拙。
    有如下属性:name、property、scope、value、cookie、header、parameter。
     <logic:equal name="bean" property="doubleProperty" value="<%= doub1 %>">
        equal
     </logic:equal>
     <logic:greaterEqual name="bean" property="doubleProperty" value="<%= doub1 %>">
        greaterEqual
     </logic:greaterEqual> 

  3. logic:present和logic:notPresent
    检查header、request parameter、cookie、JavaBean或JavaBean propertie是否存在且不等于null。另外还可以检查当前用户的身份,使用属性user和role。
    其它的属性有:name、property、scope、cookie、header、parameter。
     <logic:notPresent name="myBean"  property="prop"  scope="page">
     The bean property bean.prop is present
     </logic:notPresent>
    上段代码检查在page作用域内名为myBean的bean是否有一个prop属性。
  4. logic:match和logic:notMatch
    比较两字符串是否相等,可以比较字符串的开始的、结尾的或其中的某个部分。
    location属性:指定从某个位置开始进行比较。
    其它的属性有:name、property、scope、value、cookie、header、parameter。
    下面的例子是检查浏览器类型:
     <logic:match header="User-Agent" value="Mozilla">
      Mozilla!
     </logic:match>
     <logic:notMatch header="User-Agent" value="Mozilla">
      Not Mozilla :(
     </logic:notMatch>

    检查bean属性是否匹配"hello world"字符串:
     <logic:match name="bean" property="stringProperty" value="hello world">
      Hello World!
     </logic:match>
     <logic:notMatch name="bean" property="stringProperty" value="hello world">
      I'm so sad and lonely.
     </logic:notMatch> 

    检查名为"name"的请求参数是否是"xyz"的子字符串,但是子字符串必须从"xyz"的索引位置1开始(也就是说子字符串必须是"y"或"yz"):
     <logic:match parameter="name"  value="xyz"  location="1">
          The parameter name is a sub-string of the string xyz from index 1
     </logic:match>

二.) 循环类型

logic:iterate
重复嵌套在此标签体内的指定集合的元素,集合必须为如下类型:array 、Collection(包括ArrayList和Vector)、Enumeration、Iterator、Map(包括HashMap、Hashtable和TreeMap)。例如:

 <logic:iterate id="employee" name="department" property="employees" scope= "request">

 <bean:write name="employee" property="username" />

 <bean:write name="employee" property="name" />

 <bean:write name="employee" property="phone" />

 </logic:iterate> 
上面的代码迭代了一个employee的集合,是department属性employees的一个集合,作用域为request。

为了输出第五个到第十个employee,需要使用length和offset属性:
 <logic:iterate id="employee" name="department" property="employees" scope= "request" length="10" offset="5">

 <bean:write name="employee" property="username" />

 <bean:write name="employee" property="name" />

 <bean:write name="employee" property="phone" />

 </logic:iterate>

 你可以定义一个变量保存当前的索引值:      
 <ol>
 <logic:iterate id="element" name="bean" property="stringArray" indexId="index">
 <li>
 <em>
 <bean:write name="element"/>
 </em>&nbsp;
 [<bean:write name="index"/>]</li>
 </logic:iterate>
 </ol> 

三.) 转发/重定向类型

logic:forward和logic:redirect
logic:forward标签和jsp:forward标签和相似,但它可以使用global forward中的一个ActionForward:
 

 <logic:forward name="login" />
----------------------------------------------------------------------------------------------------------------------------------
 与上面相关的global forward中的代码:
 <global-forwards>
 <forward name="login" path="/loginForm.jsp"/>
 </global-forwards>

logic:redirect标签和上面的标签类似,但它默认调用的方法是response.sendRedirect(),取代了上面的requestDispatcher.forward()。最大的不同是它支持所有html:link标签的属性,所以你能够指定request参数:
 <logic:redirect name="login" paramId="employeeId" paramName="employee" property="id" />
 

相关文章推荐

Struts Logic标签库(三)

进行循环遍历的Logic标签是Logic标签库中最复杂的标签,它能够在一个循环中遍历数组,Collection,Enumeration,Iterator或Map中的所有元素。 1、遍历集合    的n...

Struts之LOGIC标签库详解

http://apps.hi.baidu.com/share/detail/5949283 Struts之LOGIC标签库详解 1. logic:empty 该标签是用来...

Struts Logic标签库(二)

判断变量中是否包含指定的常量字符串 判断变量中是否不包含指定的常量字符串 字符串匹配标签的value属性指定常量值,可以通过cookie,header,parameter,name和property属...

Struts 1 之<logic>标签库

1. logic:empty logic:empty标签是用来判断是否为空的。如果为空,该标签体中嵌入的内容就会被处理。该标签用于以下情况: 当Java对象为null时 当String对象为...

Struts Logic标签库(一)

Struts Logic标签库中的标签可以根据特定 逻辑条件来控制输出网页内容,或者循环遍历集合中的所有元素,大致分为: 进行比较运算的Logic标签 进行字符串匹配的Logic标签 判断指定内容是否...

struts的logic标签库

...

Struts Logic标签库学习笔记

在Struts应用中,Struts Logic标签库主要用于: 1 根据特定的逻辑条件来判断网页内容 2 判断指定的内容是否存在 3 循环遍历集合元素 4 进行字符串的匹配 5 进行请求转发...

J2EE]Structs - HTML、Bean、Logic、Template和Nested标签库总结、心得和使用详

标签库 说明 HTML 标签 用来创建能够和Struts 框架和其他相应的HTML 标签交互的HTML 输入表单 Bean 标签 在访问Jav...

J2EE]Structs - HTML、Bean、Logic、Template和Nested标签库总结、心得和使用详

标签库 说明 HTML 标签 用来创建能够和Struts 框架和其他相应的HTML 标签交互的HTML 输入表单 Bean 标签 在访问Jav...

Struts 标签库

  • 2017-01-16 22:15
  • 259KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)