Struts 逻辑标记的属性

本文档描述在 Struts 逻辑标记库中定义的元素的属性。缺省情况下,这些元素中每个元素的名称都有 logic: 前缀。

每个 Struts 元素都有一定数目的属性,可使用元素的“属性”视图来设置这些属性。在使用元素的“属性”视图时,使用此“属性”的表来查找想要了解其更多详细信息的属性。某些属性具有相同名称,但在不同元素中有不同的用法。属性是按字母顺序列示的。

属性 所属元素 描述
anchor redirect 指定要以 #xxx 的形式添加至生成的超链接的可选锚点标记(xxx)。
collection iterate 指定一个运行时表达式,其求值结果为一个要进行迭代的集合(符合特定需求)。
cookie equal、greaterEqual、greaterThan、lessEqual、lessThan、notEqual、notPresent 和 present 指定要将其值与 value 属性的值比较的 cookie 的名称。
forward redirect 指定全局 ActionForward 类的逻辑名,该类包含此 redirect 元素目标的实际内容相对 URI。可通过包括查询参数来动态修改 URI(如标记描述中所述)。必须指定下列其中一项属性:forwardhreflinkNamepage
header equal、greaterEqual、greaterThan、lessEqual、lessThan、notEqual、notMatch、notPresent 和 present 指定要对其值进行比较的头的名称。名称匹配是以不区分大小写的方式执行的。
href redirect 指定此元素将控制转移至的 URL。可以如标记描述中所述的那样通过包括查询参数来动态修改 URL。必须指定下列其中一项属性:forwardhreflinkNamepage
id iterate 指定页范围 JSP bean 的名称,如果集合不为空,则每次迭代时该 JSP bean 将包含该集合的当前元素。[必填]
indexId iterate 指定页范围 JSP bean 的名称,每次迭代时该 bean 将包含集合的当前索引。
length iterate 指定要在此页上迭代的条目(来自底层集合)的最大数目。这可以是一个直接表达期望值的整数,也可以是类型为 java.lang.Integer 的定义期望值的 JSP bean(在任何范围内)的名称。缺省情况下,执行的迭代次数不受限制。
message messagesNotPresent 和 messagesPresent 如果设置为 true,则从 Globals.MESSAGE_KEY 常量字符串检索请求范围 bean 并忽略指定给 name 属性的任何值。缺省情况下,该标记从 Globals.ERROR_KEY 常量字符串检索将对其进行迭代的请求范围 bean。
name equal、greaterEqual、greaterThan、lessEqual、lessThan、notEqual、notMatch、notPresent 和 present 指定一个 JSP bean 作为要比较的变量(如果省略 property),或指定此 bean 的指定属性的值(如果指定了 property)。
name forward 指定标识要使用的目标和转发方法的全局 ActionForward 条目的逻辑名。
注: 不支持从此标记转发至平铺定义。应从操作转发至它们。
[必填]
name iterate 指定包含要迭代的集合的 JSP bean 的名称(如果省略 property),或指定其属性 getter 返回要迭代的集合的 JSP bean 的名称(如果指定了 property)。
name match 和 notMatch 指定要匹配的变量是此属性指定的 JSP bean(如果省略 property),或指定此 bean 的指定属性的值(如果指定了 property)。
name messagesNotPresent 和 messagesPresent 指定参数键以从请求范围检索消息。
name notPresent 和 present 使用指定的名称在所有范围内检查 JSP bean 的存在。如果还指定了 property,则 name 对指定属性检查非空的属性值。
name redirect 指定这样一个 JSP bean 的名称:它包含表示查询参数的 Map 类(如果省略 property),或者它的属性 getter 被调用来返回一个 Map(如果指定了 property)。
offset iterate 指定起始点的零相对索引,将从此起始点对底层集合中的条目进行迭代。这可以是一个直接表达期望值的整数,也可以是类型为 java.lang.Integer 的定义期望值的 JSP bean(在任何范围内)的名称。缺省值为零,表示将从开头对集合进行迭代。
page redirect 指定上下文相对路径(以 / 字符开头),此超链接被激活时将把控制转移至此路径。可以如标记描述中所述的那样通过包括查询参数来动态修改超链接。必须指定下列其中一项属性:forwardhreflinkNamepage
parameter equal、greaterEqual、greaterThan、lessEqual、lessThan、notEqual、notMatch、notPresent 和 present 指定要将其值与 value 属性的值比较的 URL 请求参数的名称。
paramId redirect 指定将被动态添加至所生成超链接的请求参数的名称。相应的值是由 paramName 属性和(可选)paramProperty 属性定义的,并且可选择由 paramScope 属性指定范围。
paramName redirect 指定这样一个 JSP bean 的名称:它是包含由 paramId 命名的请求参数的值的字符串(如果省略 paramProperty),或它的属性 getter 被调用来返回一个字符串(如果指定 paramProperty)。如果指定了 paramScope 属性,则该 JSP bean 就限于由该属性指定的 bean 范围。
paramProperty redirect 指定由 paramName 属性指定的 bean 属性的名称,其返回值必须是包含请求参数(由 paramId 属性命名)的值的字符串,而该请求参数将被动态添加至此超链接。
paramScope redirect 指定搜索由 paramName 属性指定的 bean 的范围。缺省情况下,将搜索所有范围。
property empty、equal、iterate、messagesNotPresent、messagesPresent、notEqual、notPresent、present 和 redirect 指定要对其值进行比较的(由 name 属性指定的 bean 的)属性的名称。属性引用可以是简单、嵌套或索引引用。
role notPresent 和 present 检查当前认证的用户(如果有的话)是否已与指定的任一安全角色相关联。要指定多个角色,可用逗号将各角色名分隔开。
scope equal、greaterEqual、greaterThan、lessEqual、lessThan、notEqual、notMatch、notPresent 和 present 指定在其中搜索由 name 属性命名的 bean 的 bean 范围。缺省值为使用任意范围。
transaction redirect 如果设置为 true,则将当前事务控制标记包括在此元素的已生成 URL 中。
type iterate 指定要通过从 id 属性命名的 JSP Bean 显示的元素的标准 Java™ 类名。缺省情况下,不执行类型转换。
注: 集合的实际元素与此类必须是赋值兼容的,否则,将会发生请求时间 ClassCastException 错误。
user notPresent 和 present 检查当前认证的用户是否具有指定的名称。
value equal、greaterEqual、greaterThan、lessEqual、lessThan 和 notEqual 指定此标记的其它属性指定的变量将与之比较的常量值。

相关任务
将 Struts 标记添加至 JSP 文件

相关参考
Struts bean 标记的属性
Struts 平铺标记的属性
Struts HTML 标记的属性
Struts 嵌套标记的属性
Struts 标记的属性

使用条款 | 反馈
(C) Copyright IBM Corporation 1999, 2005. All Rights Reserved.