struts学习笔记(2)
今天主要学习的是struts2的标志。struts2的标记分为非UI标志和UI标志。
在介绍常用标志前,先对Struts 1.x与Struts 2.0的标志库(Tag Library)作比较。
|  | Struts 1.x | Struts 2.0 | 
| 分类 | 将标志库按功能分成HTML、Tiles、Logic和Bean等几部分 | 严格上来说,没有分类,所有标志都在URI为“/struts-tags”命名空间下,不过,我们可以从功能上将其分为两大类:非UI标志和UI标志 | 
| 表达式语言(expression languages) | 不支持嵌入语言(EL) | OGNL、JSTL、Groovy和Velcity | 
我没有学过struts1,所以对它的一些特性也不是很了解,在此只是一列出来而已。
下面正式开始struts的标记。
一.非UI标志
1.if,elseif和else
描述:
执行基本的条件流转。
参数:
| 名称 | 必需 | 默认 | 类型 | 描述 | 备注 | 
| test | 是 |  | Boolean | 决定标志里内容是否显示的表达式 | else标志没有这个参数 | 
| id | 否 |  | Object/String | 用来标识元素的id。在UI和表单中为HTML的id属性 |  | 
2.iterator
描述:
用于遍历集合(java.util.Collection)或枚举值(java.util.Iterator)。
参数:
| 名称 | 必需 | 默认 | 类型 | 描述 | 
| status | 否 |  | String | 如果设置此参数,一个IteratorStatus的实例将会压入每个遍历的堆栈 | 
| value | 否 |  | Object/String | 要遍历的可枚举的(iteratable)数据源,或者将放入新列表(List)的对象 | 
| id | 否 |  | Object/String | 用来标识元素的id。在UI和表单中为HTML的id属性 | 
3.i18n
描述:
加载资源包到值堆栈。它可以允许text标志访问任何资源包的信息,而不只当前action相关联的资源包。
参数:
| 名称 | 必需 | 默认 | 类型 | 描述 | 
| value | 是 |  | Object/String | 资源包的类路径(如com.xxxx.resources.AppMsg) | 
| id | 否 |  | Object/String | 用来标识元素的id。在UI和表单中为HTML的id属性 | 
4.include
描述:
包含一个servlet的输出(servlet或jsp的页面)。
参数:
| 名称 | 必需 | 默认 | 类型 | 描述 | 
| value | 是 |  | String | 要包含的jsp或servlet | 
| id | 否 |  | Object/String | 用来标识元素的id。在UI和表单中为HTML的id属性 | 
5.param
描述:
为其他标签提供参数,比如include标签和bean标签.  参数的name属性是可选的,如果提供,会调用Component的方法addParameter(String, Object),  如果不提供,则外层嵌套标签必须实现UnnamedParametric接口(如TextTag)。
|  | value的提供有两种方式,通过value属性或者标签中间的text,不同之处我们看一下例子: <param name="color">blue</param><!-- (A) --> <param  name="color"  value="blue"/><!-- (B)  --> | 
参数:
| 名称 | 必需 | 默认 | 类型 | 描述 | 
| name | 否 |  | String | 参数名 | 
| value | 否 |  | String | value表达式 | 
| id | 否 |  | Object/String | 用来标识元素的id。在UI和表单中为HTML的id属性 | 
6.set
描述:
set标签赋予变量一个特定范围内的值。当希望给一个变量赋一个复杂的表达式,每次访问该变量而不是复杂的表达式时用到。其在两种情况下非常有用:  复杂的表达式很耗时 (性能提升) 或者很难理解 (代码可读性提高)。
参数:
| 名称 | 必需 | 默认 | 类型 | 描述 | 
| name | 是 |  | String | 变量名字 | 
| scope | 否 |  | String | 变量作用域,可以为application, session, request, page, 或action. | 
| value | 否 |  | Object/String | 将会赋给变量的值 | 
| id | 否 |  | Object/String | 用来标识元素的id。在UI和表单中为HTML的id属性 | 
7.text
描述:
支持国际化信息的标签。国际化信息必须放在一个和当前action同名的resource bundle中,如果没有找到相应message,tag  body将被当作默认message,如果没有tag body,message的name会被作为默认message。
参数:
| 名称 | 必需 | 默认 | 类型 | 描述 | 
| name | 是 |  | String | 资源属性的名字 | 
| id | 否 |  | Object/String | 用来标识元素的id。在UI和表单中为HTML的id属性 | 
8.url
描述:
该标签用于创建url,可以通过"param"标签提供request参数。
|  | 当includeParams的值时'all'或者'get', param标签中定义的参数将有优先权,也就是说其会覆盖其他同名参数的值。 | 
9.property
描述:
得到'value'的属性,如果value没提供,默认为堆栈顶端的元素。
参数:
| 名称 | 必需 | 默认 | 类型 | 描述 | 
| default | 否 |  | String | 如果属性是null则显示的default值 | 
| escape | 否 | true | Booelean | 是否escape HTML | 
| value | 否 | 栈顶 | Object | 要显示的值 | 
| id | 否 |  | Object/String | 用来标识元素的id。在UI和表单中为HTML的id属性 | 
其实是在网上找到了一个写得很好的教材,这里面的内容也是从里面cv过来的,其中还有一些例子,此处就不贴出来了。
这是昨天该写的东西,今天学的,马上就来!
 
                    
                 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号