Struts提供了五个标签库,即:HTML、Bean、Logic、Template和Nested。
HTML标签 : 用来创建能够和Struts 框架和其他相应的HTML 标签交互的HTML 输入表单
Bean标签: 在访问JavaBeans 及其属性,以及定义一个新的bean 时使用
Logic标签: 管理条件产生的输出和对象集产生的循环
Template标签:随着Tiles框架包的出现,此标记已开始减少使用
Nested标签: 增强对其他的Struts 标签的嵌套使用的能力
<text>标签、<hidden>标签、<textarea>标签、<radio>标签、<checkbox>标签、<submit>标签、<reset>标签都有一个property属性,最后会被转换成HTML中的name属性
scope :定义了Bean在哪个范围(page, request, session, or application)中被查找。如果没有标明按顺序查找。脚本变量(见styleId)将在相同的范围中创建。
Struts标签也支持嵌套引用。
eg:
property="foo.bar.baz"
这相当于进行下面的调用:
getFoo().getBar().getBaz();
或者做为setter:
getFoo().getBar().setBaz(value);
虽然Struts 标签的设计原意是为了避免使用scriptlet,scriptlet的表达式还能够提供给所有的Struts 标签使用。但请确保使用完整的表达式。
错误:<html:linkhref="'<%= "/" + name %>/index.jsp>'>
正确:<html:linkhref="'<%= "/" + name + "/index.jsp"%>'> // 表达式必须提供整个属性值
HTML标签 : 用来创建能够和Struts 框架和其他相应的HTML 标签交互的HTML 输入表单
Bean标签: 在访问JavaBeans 及其属性,以及定义一个新的bean 时使用
Logic标签: 管理条件产生的输出和对象集产生的循环
Template标签:随着Tiles框架包的出现,此标记已开始减少使用
Nested标签: 增强对其他的Struts 标签的嵌套使用的能力
标签的公共特征
styleId:命名自定义标签创建时的脚本变量名。
name :指出关键字值,在该关键字下可以找到一个存在的bean 。如果给出了scope属性,则仅仅在scope中查找。否则,根据标准的顺序在各种scope中查找。标准顺序为 (page,request, session, or application)。
<text>标签、<hidden>标签、<textarea>标签、<radio>标签、<checkbox>标签、<submit>标签、<reset>标签都有一个property属性,最后会被转换成HTML中的name属性
scope :定义了Bean在哪个范围(page, request, session, or application)中被查找。如果没有标明按顺序查找。脚本变量(见styleId)将在相同的范围中创建。
说明:
Struts标签也支持嵌套引用。
eg:
property="foo.bar.baz"
这相当于进行下面的调用:
getFoo().getBar().getBaz();
或者做为setter:
getFoo().getBar().setBaz(value);
虽然Struts 标签的设计原意是为了避免使用scriptlet,scriptlet的表达式还能够提供给所有的Struts 标签使用。但请确保使用完整的表达式。
错误:<html:linkhref="'<%= "/" + name %>/index.jsp>'>
正确:<html:linkhref="'<%= "/" + name + "/index.jsp"%>'> // 表达式必须提供整个属性值