跳到内容

Java 编程/Struts/Struts 标签库

来自 Wikibooks,开放的书籍,为开放的世界

Struts 提供了一个 JSP 标签库,用于构建应用程序。

通用功能

[编辑 | 编辑源代码]

所有 Struts 标签都设计为接受通用属性,并共享与环境交互的通用方法。这些属性都引用存储在页面、请求、会话或应用程序对象中的键控 bean,使用每个对象的 setAttribute() 函数。四个最常见的特性是

属性 属性名
名称 在其中查找 bean 的键。
范围 Scope 属性标识在其中查找键的上下文。如果范围未定义,将按页面、请求、会话,然后是应用程序的顺序搜索每个可用上下文。
id 此标签在页面上下文中创建的脚本值的名称。
属性 指定要放置在页面上下文中的 Java Bean 属性。如果未指定,则 bean 本身将放置在页面上下文中。

所有这些属性,在适用的情况下,都以类似的方式使用,以简化接口。

嵌套引用

[编辑 | 编辑源代码]

Struts 标签库还提供了比添加到可用上下文中更深入的调用能力。例如,要访问 bean a 中的 bean b,您将 name 属性设置为“a”,property 属性设置为“b”。但是,如果 b 具有包含另一个 bean(c)的属性,您希望访问该属性,则 property 属性可以设置为“b.c”。

此外,可以使用索引引用。如果 a 是 b 的数组,则数组的第二项可以使用 property 值“b[2]”引用。

总而言之

在 Struts 标签中 用 java 表示
< ... name="a" property="b" > context.getAttribute("a").getB()
< ... name="a" property="b.c" > context.getAttribute("a").getB().getC()
< ... name="a" property="b[2]" > context.getAttribute("a").getB(2)
< ... name="puppy" property="cat.rabbit[8]" > context.getAttribute("puppy").getCat().getRabbit(8)

Bean 标签

[编辑 | 编辑源代码]

这些标签都与 Java Beans 相关。它们用于创建和访问使用 JavaBeans 标准的对象。由于 Struts 的设计旨在解耦逻辑和表示,因此这些标签无法修改 bean。

Html 标签

[编辑 | 编辑源代码]

这些标签创建 HTML 实体。它们用于避免使用脚本程序来完成诸如预填充表单或确定链接目标之类的任务。

逻辑标签

[编辑 | 编辑源代码]

这些标签用于文档内的控制流。if 结构、迭代和页面重定向都包含在此命名空间中。

嵌套标签

[编辑 | 编辑源代码]

进一步阅读

[编辑 | 编辑源代码]

更多 Struts 教程 : http://www.strutsmypassion.com

华夏公益教科书