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>