标签库 说明
HTML 标签 用来创建能够和 Struts 框架和其他相应的 HTML 标签交互的 HTML 输入表单
Bean 标签 在访问 JavaBeans 及其属性,以及定义一个新的 bean 时使用
Logic 标签 管理条件产生的输出和对象集产生的循环
Template 标签 随着 Tiles 框架包的出现,此标记已开始减少使用
Nested 标签 增强对其他的 Struts 标签的嵌套使用的能力
标签的公共特征
使用固定属性名称的Struts 标签:
属性 说明
id 命名自定义标签创建时的脚本变量名。
name 指出关键字值,在该关键字下可以找到一个存在的 bean 。如果给出了 scope 属性,则仅仅在 scope 中查找。否则,根据标准的顺序在各种 scope 中查找: (page, request, session, or application) 。
property 指出 bean 中的某个属性,可以在其中检索值。如果没有标明,则使用对象本身的值。
scope 定义了 Bean 在哪个范围 (page, request, session, or application) 中被查找。如果没有标明按顺序查找。脚本变量 ( 见 id) 将在相同的范围中创建。
Struts 标签也支持嵌套引用,例如:
Property="foo.bar.baz"这相当于进行下面的调用:getFoo().getBar().getBaz();
或者做为setter:getFoo().getBar().setBaz(value);
虽然Struts 标签的设计原意是为了避免使用scriptlet,scriptlet的表达式还能够提供给所有的Struts 标签使用。但请确保使用完整的表达式:
错误: /index.jsp>'>
正确: '> // 表达式必须提供整个属性值
Html 标签库
1. 标签
它有两个属性:locale和xhtml,两者都不是必需的。
此行代码解析后:
2. 说明:生成的结果取决于Struts应用程序所位于的服务器的locale。如果你将应用程序部署到一个不同locale的服务器,你不需要改变代码,Locale会自动调整。
3. 标签:表示所包含页面的绝对位置。这个标签只有内嵌在head标签中才有效。
此行代码解析后:
4. 标签
最重要的属性page:图象文件的路径,前面必须带有一个斜线。
其它属性:heignt、width、alt。
5. 标签
Click demo
此行代码解析后: Click demo
6. 标签:通过一个简单的 标签,你就可以在一个JSP页面上显示完全自定义的错误信息。功能超强大!!
说明:这个标签在Request对象的属性集合中查找reserved key。如果它找到一个reserved key,它就假设这个key是一个String、或是一个String数组
(它包含在模块的MessageResources中查找的message keys)、或是类型为org.apache.struts.action.ActionErrors的一个对象。 如果在应用程序资源中存在相应的信息,那么就可以用下面这些可选的message keys:
errors.header or errors.prefix:相应的信息在错误信息的单独列表前显示。
errors.footer or errors.suffix:相应的信息在错误信息的单独列表后显示。
7.
标签系列
使用标签时必须遵循一些规则:
1. 标签中必须包含一个action属性,它是这个标签中唯一必需的属性。如果不具备该属性则JSP页面会抛出一个异常。之后你必须给这个action属性指定一个有效值。一个有效值是指应用程序的Struts配置文件中元素里的任何一个子元素的访问路径。而且相应的元素中必须有一个name属性,它的值是form bean的名称。
如果你有上述一个标签 ,那么你的Struts配置文件的元素中必须有一个如下显示为粗体的元素:
// 这就是说一个form标签是和form bean相关联的。