要在jsp中使用Struts2的标志,先要指明标志的引入。通过jsp的代码的顶部加入以下的代码:
<%@taglib prefix="s" uri="/struts-tags" %>
If elseif else
描述:
执行基本的条件流转。
参数:
名称 | 必需 | 默认 | 类型 | 描述 | 备注 |
test | 是
|
| boolean
| 决定标志里的内容是否显示的表达式 | else标志没有这个参数 |
id | 否 |
| Object/String | 用来标识元素的id。在UI和表单中为HTML的id属性 |
|
例子:
<s:set name="age" value="61"/>
<s:if test="${age > 60}">
老年人
</s:if>
<s:elseif test="${age > 35}">
中年人
</s:elseif>
<s:elseif test="${age > 15}" id="wawa">
青年人
</s:elseif>
<s:else>
少年
</s:else>
<s:set name="name" value="<%="'"+ request.getParameter("name")+"'" %>"/>
<%
System.out.println(request.getParameter("name"));
%>
<s:if test="#name=='zhaosoft'">
zhaosoft here
</s:if>
<s:elseif test="#name=='zxl'">
zxl here
</s:elseif>
<s:else>
other is here
</s:else>
Iterator(迭代)
描述:用于遍历集合(java.util.Collection)或枚举值(java.util.iterator)
参数
名称 | 必需 | 默认 | 类型 | 描述 |
status
| 否
|
| String | 如果设置此参数,一个IteratorStatus的实例将会压入每一个遍历的堆栈 |
value
| 否 |
| Object/String
| 要遍历的可枚举的(iteratable)数据源,或者将放入的新列表(List)的对想 |
id
| 否 |
| Object/String
| 用来标识元素的id。在ui和表单中为HTML的id属性 |
I18n(国际化操作)
描述:
加载资源包到值堆栈。它可以允许text标志访问任何资源包的信息。而不只当前的action相关联的资源包。
名称 | 必需 | 默认 | 类型 | 描述 |
name
| 是
|
| Object/String
| 资源包的类路径(如com.xxxx.resources.AppMsg) |
id
| 否
|
| Object/String
| 用来标识元素的id。在ui和表单中为HTML的id属性 |
Include
描述:包含一个servlet的输出(servlet或jsp的页面)
名称 | 必需 | 默认 | 类型 | 描述 |
value | 时 |
| String | 要包含的jsp页面或servlet |
id | 否 |
| Object/String | 用来标识元素的id。在ui和表单中为HTML的id属性 |
param
描述:属性是可选的,如果提供,会调用Component的方法,addParameter(String,Object),如果不提供,则外层嵌套标签必须实现UnnamedParametric接口。
Value的提供有两种方式,通过value属性或者标签中间的text,不同之处:
<s:param name="name">zhaosoft</s:param>
参数会以String的格式放入statck
<s:param name="name" value="zhaosoft"/>
该值会以java.lang.Object的格式放入statck
名称 | 必需 | 默认 | 类型 | 描述 |
name
| 否
|
| String
| 参数名
|
value | 时 |
| String | value表达式 |
id
| 否
|
| Object/String
| 用来标识元素的id。在ui和表单中为HTML的id属性 |
set
描述:set标签赋予变量一个特定范围内的值。当希望给一个变量赋一个复杂的表达式,每次访问该变量而不是复杂的表达式时用到。其在两种情况下非常有用:复杂的表达式很耗时(性能提升)或者很难理解(代码的可读性提高)
参数:
名称 | 必需 | 默认 | 类型 | 描述 |
name | 是 |
| String | 变量名字 |
scope | 否 |
| String |