开源框架:Structs2.0入门学习(2)

简介:   3.介绍一下常用的标签库        Struts 1.x  Struts 2.0 分类  将标志库按功能分成HTML、Tiles、Logic和Bean等几部分  严格上来说,没有分类,所有标志都在URI为“/struts-tags”命名空...
  3.介绍一下常用的标签库

   

   Struts 1.x  Struts 2.0
 分类  将标志库按功能分成HTMLTilesLogicBean等几部分  严格上来说,没有分类,所有标志都在URI“/struts-tags”命名空间下,不过,我们可以从功能上将其分为两大类:非UI标志和UI标志
 表达式语言(expression languages 不支持嵌入语言(EL  OGNLJSTLGroovyVelcity

    如果想引入标签的话就只需要将上面的URI引用进来就好了!

   

要在JSP中使用Struts 2.0标志,先要指明标志的引入。通过在JSP的代码的顶部加入以下代码可以做到这点。
taglib prefix="s" uri="/struts-tags" %>

  1. UI标志

o                              ifelseifelse

描述:
执行基本的条件流转。

不作界面的标签库的哦!

参数:

名称

必需

默认

类型

描述

备注

test

 

Boolean

决定标志里内容是否显示的表达式

else标志没有这个参数

id

 

Object/String

用来标识元素的id。在UI和表单中为HTMLid属性

 

这三个非UI标志的会有参数进来的!
例如 :
s:if test="#name == 'Max'">  
            Max's file here
        
s:if>
        
s:elseif test="#name == 'Scott'">
            Scott's file here
        
s:elseif>
        
s:else>
            Other's file here
        
s:else>       


o                              iterator

描述:
用于遍历集合(java.util.Collection)或枚举值(java.util.Iterator)。

参数:

名称

必需

默认

类型

描述

status

 

String

如果设置此参数,一个IteratorStatus的实例将会压入每个遍历的堆栈

value

 

Object/String

要遍历的可枚举的(iteratable)数据源,或者将放入新列表(List)的对象

id

 

Object/String

用来标识元素的id。在UI和表单中为HTMLid属性


第二个常用的非UI标签iterator

o                              i18n

描述:
加载资源包到值堆栈。它可以允许text标志访问任何资源包的信息,而不只当前action相关联的资源包。

参数:

名称

必需

默认

类型

描述

value

 

Object/String

资源包的类路径(如com.xxxx.resources.AppMsg

id

 

Object/String

用来标识元素的id。在UI和表单中为HTMLid属性


第三个标签:i18n

o                              include

描述:
包含一个servlet的输出(servletjsp的页面)。

参数:

名称

必需

默认

类型

描述

value

 

String

要包含的jspservlet

id

 

Object/String

用来标识元素的id。在UI和表单中为HTMLid属性

s:include value="/condition.jsp">
            
s:param name="name">Maxs:param>
        
s:include>
这个就相当于JSP中的
                             
                        
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);}

o                              param

描述:
为其他标签提供参数,比如include标签和bean标签. 参数的name属性是可选的,如果提供,会调用Component的方法addParameter(String, Object), 如果不提供,则外层嵌套标签必须实现UnnamedParametric接口(TextTag)

value的提供有两种方式,通过value属性或者标签中间的text,不同之处我们看一下例子:

param name="color">blueparam>

param name="color" value="blue"/>
(A)
参数值会以String的格式放入statck.
(B)
该值会以java.lang.Object的格式放入statck.

参数:

名称

必需

默认

类型

描述

name

 

String

参数名

value

 

String

value表达式

id

 

Object/String

用来标识元素的id。在UI和表单中为HTMLid属性


可以给include中提供参数的哦!

o                              set

描述:
set
标签赋予变量一个特定范围内的值。当希望给一个变量赋一个复杂的表达式,每次访问该变量而不是复杂的表达式时用到。其在两种情况下非常有用: 复杂的表达式很耗时 (性能提升) 或者很难理解 (代码可读性提高)

参数:

名称

必需

默认

类型

描述

name

 

String

变量名字

scope

 

String

变量作用域,可以为application, session, request, page, action.

value

 

Object/String

将会赋给变量的值

id

 

Object/String

用来标识元素的id。在UI和表单中为HTMLid属性

o                              text

描述:
支持国际化信息的标签。国际化信息必须放在一个和当前action同名的resource bundle,如果没有找到相应message,tag body将被当作默认message,如果没有tag body,messagename会被作为默认message

参数:

名称

必需

默认

类型

描述

name

 

String

资源属性的名字

id

 

Object/String

用来标识元素的id。在UI和表单中为HTMLid属性

o                              url

描述:
该标签用于创建url,可以通过"param"标签提供request参数。

可以通过这个标签来创建URL。通过param来提供好参数
href='value="/i18n.jsp" />'>i18na>br />
        
s:url id="url" value="/condition.jsp">
            
s:param name="name">Maxs:param>
        
s:url>        
        
s:a href="%{url}">if\elseif\elses:a>

o                              property

描述:
得到'value'的属性,如果value没提供,默认为堆栈顶端的元素。

参数:

名称

必需

默认

类型

描述

default

 

String

如果属性是null则显示的default

escape

true

Booelean

是否escape HTML

value

栈顶

Object

要显示的值

id

 

Object/String

用来标识元素的id。在UI和表单中为HTMLid属性


OK,现在来看看UI标签吧!
UI 标志又可以分为表单 UI 和非表单 UI 两部分。表单 UI 部分基本与 Struts 1.x 相同,都是对 HTML 表单元素的包装。不过, Struts 2.0 加了几个我们经常在项目中用到的控件如: datepicker doubleselect timepicker optiontransferselect
可以是表单中的常用UI也可以是其他类型的
目录
相关文章
|
5月前
|
Java 程序员 应用服务中间件
【推荐】深入浅出学习Spring框架【上】
【推荐】深入浅出学习Spring框架【上】
35 0
|
5月前
|
存储 监控 Java
【推荐】深入浅出学习Spring框架【中】
【推荐】深入浅出学习Spring框架【中】
25 0
|
SQL 安全 数据库
【快速入门ORM框架之Dapper】大牛勿进系列
原文:【快速入门ORM框架之Dapper】大牛勿进系列 前言:dapper是什么?Dapper是.NET下一个micro的ORM,它和Entity Framework或Nhibnate不同,属于轻量级的,并且是半自动的。
1434 0
|
SQL JSON C#
C#开源框架
原文:C#开源框架 Json.NET  http://json.codeplex.com/ Json.Net 是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用Json更加简单。
1564 0