Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5018644
  • 博文数量: 891
  • 博客积分: 17977
  • 博客等级: 上将
  • 技术积分: 8636
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-26 09:59
个人简介

一个好老好老的老程序员了。

文章分类

全部博文(891)

文章存档

2020年(8)

2019年(40)

2018年(88)

2017年(130)

2015年(5)

2014年(12)

2013年(41)

2012年(36)

2011年(272)

2010年(1)

2009年(53)

2008年(65)

2007年(47)

2006年(81)

2005年(12)

分类: Java

2011-09-28 22:27:58

  3.介绍一下常用的标签库

    <%@ taglib prefix="s" uri="/struts-tags" %>

   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加了几个我们经常在项目中用到的控件如:datepickerdoubleselecttimepickeroptiontransferselect
可以是表单中的常用UI也可以是其他类型的

阅读(1888) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~