Struts2 常用标签库
一般标签
if 、 elseif 、 else
描述
执行基本的条件流转
参数
名称 | 必需 | 默认 | 类型 | 描述 | 注释 |
test | 是 |
| Boolean | 决定标签里的内容是否显示的表达式 | else 标签没有这个参数 |
id | 否 |
| Object/String | 用来标识元素的 id ,在 UI 和表单中 html 的 id 属性 |
|
实例 1
<s:iterator value="list" status="sta">
<s:if test="#sta.odd == true">
<li><s:property value="list.name"/></li>
</s:if>
<s:else>
<li style="backgroud-color:gray"><s:property value="list.name"/></li>
</s:else>
</s:iterator>
iterator
描述
用于遍历集合( java.util.Collection )或枚举值( java.util.Iterator )
参数
名称 | 必需 | 默认 | 类型 | 描述 |
status | 否 |
| String | 如果设置此参数,一个 IteratotStatus 的实例将会压入每一个遍历的堆栈中 |
value | 否 |
| Object/String | 要遍历的可枚举的( iteratable )数据源,或者放入新列表( list )对象 |
id | 否 |
| Object/String | 用来标识元素的 id ,在 UI 和表单中 html 的 id 属性 |
实例 2 如实例 1
……
……
……
date
描述
根据特定日期格式(例如: ”dd/MM/yyyy hh:mm” ),对日期对象进行多种形式的格式化。
参数
名称 | 必需 | 默认 | 类型 | 描述 |
format | 否 |
| String | 日期格式 |
name | 是 |
| String | 被格式化的日期对象 |
nice | 否 |
| Boolean | 是否优雅地打印日期 |
var | 否 |
| String | 用来存放格式化后日期的名字 |
实例 3
<s:date name="person.birthday" format="dd/MM/yyyy"></s:date >
<s:date name="person.birthday" nice="true"></s:date>
<s:date name="person.birthday"></s:date>
( 4 ) include
描述
包含一个 servlet 的输出( servlet 或 jsp 页面)
参数
名称 | 必需 | 默认 | 类型 | 描述 |
value | 是 |
| String | 要包含的 servlet 或 jsp |
id | 否 |
| Object/String | 用来标识元素的 id ,在 UI 和表单中 html 的 id 属性 |
实例 4
<%@ page contentType="text/html;charset=utf-8"%>
<%@ taglib prefix="s" uri="/strsts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Include Test</title>
</head>
<body>
<h3>Iterator Page</h3>
<s:include value="/test.jsp">
<s:param name="name">Max</s:param>
</s:include>
</body>
</html>
( 5 ) parma
描述
为其他标签提供参数,比如 include 标签和 bean 标签。参数的 name 属性是可选的,如果提供,会调用 Component 的方法 addParameter(String, Object) ;如果不提供,则外层嵌套标签必须实现 UnamedParametric 接口(如 TextTag )
参数
名称 | 必需 | 默认 | 类型 | 描述 |
name | 否 |
| String | 参数名 |
value | 是 |
| String | Value 表达式 |
id | 否 |
| Object/String | 用来标识元素的 id ,在 UI 和表单中 html 的 id 属性 |
实例如实例 5
<s:include value="/test.jsp">
<s:param name="Name">Max</s:param>
</s:include>
表示为 include 标签提供参数 name
<s:param name="Name" value="myName">Max</s:param>
表示“ Name ”的属性值为“ myName ”
( 6 ) set
① 描述
Set 标签赋予变量一个特定范围内的值,当希望给一个变量赋一个复杂的表达式的时候,每次访问该变量而不是复杂的表达式时用到。其在两种情况下非常有用:复杂的表达式很耗时或很难理解时
参数
名称 | 必需 | 默认 | 类型 | 描述 |
name | 否 |
| String | 变量名字 |
scope | 否 |
| String | 变量作用域,可以为 application 、 session 、 request 、 page 或 action |
value | 是 |
| String | 将会赋给变量的值 |
id | 否 |
| Object/String | 用来标识元素的 id ,在 UI 和表单中 html 的 id 属性 |
实例 6
<s:set name="personName" value="person.name"></s:set >
Hello,<s:property value="#personName"></s:>
其中 value="#personName" 的值是 person.name
( 7 ) url
① 描述
该标签用于创建 url ,可以通过“ param ”标签提供 request 参数。当 includeParams 的值为“ all ”或“ get ”时, param 标签中定义的参数将有优先权,也就是说,其会覆盖其他同名的参数的值。
参数
名称 | 必需 | 默认 | 类型 | 描述 |
action | 否 |
| String | 用来生产 url 的 action |
anchor | 否 |
| String | url 包含的 anchor |
encode | 否 | 是 | Boolean | 是否对参数加密 |
escapeAmp | 否 | 是 | Boolean | 是否屏蔽 & 符号 |
forceAddSchemeHostAndPort | 否 | 否 | Boolean | 是否强制加入 scheme 、 host 和 port |
id | 否 |
| String | 用来标识元素的 id ,在 UI 和表单中 html 的 id 属性 |
IncludeContext | 否 | 是 | Boolean | url 中是否包括实际的上下文 |
includeParams | 否 | get | String | includeParams 的值可以是“ none ”、“ get ”、“ all ” |
method | 否 |
| String | Action 使用的方法 |
namespace | 否 |
| String | 使用的 namespace |
portletMode | 否 |
| String | Portlet 的结果模式 |
portletUrlType | 否 |
| String | 明确提供 Portlet 或 action 类型 |
value | 否 |
| String | 目标值 |
var | 否 |
| String | 代表目标值的变量名 |
windowState | 否 |
| String | Portlet window 结果状态 |
实例
<%@ page contentType="text/html;charset=utf-8"%>
<%@ taglib prefix="s" uri="/strsts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>URL</title>
</head>
<body>
<h3>URL</h3>
<a href='<s:url value="/login.jsp"/>'>Login</a>
<s:url id="url" value="/index.jsp">
<s:param name="name">Max</s:param>
</s:url>
</body>
</html>