














Struts-Logic 标签库
此标签库可以分为三种类型:条件、循环、转发/重定向。
一.) 条件类型
<logic:empty name="myBean">
The bean is missing
</logic:empty>
<logic:notEmpty name="myBean">
The bean is not missing
</logic:notEmpty>
<logic:equal name="bean" property="doubleProperty" value="<%= doub1 %>">
equal
</logic:equal>
<logic:greaterEqual name="bean" property="doubleProperty" value="<%= doub1 %>">
greaterEqual
</logic:greaterEqual>
<logic:notPresent name="myBean" property="prop" scope="page">
The bean property bean.prop is present
</logic:notPresent>
<logic:match header="User-Agent" value="Mozilla">
Mozilla!
</logic:match>
<logic:notMatch header="User-Agent" value="Mozilla">
Not Mozilla :(
</logic:notMatch>
<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>
<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">
上面的代码迭代了一个employee的集合,是department属性employees的一个集合,作用域为request。
…
<bean:write name="employee" property="username" />
…
<bean:write name="employee" property="name" />
…
<bean:write name="employee" property="phone" />
…
</logic:iterate>为了输出第五个到第十个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>
[<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" />
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。