`
zzx0421
  • 浏览: 99016 次
  • 性别: Icon_minigender_1
  • 来自: 株洲/深圳
社区版块
存档分类
最新评论

Struts2标签库Tablib

阅读更多

Struts2 Taglib抽象了不同表示技术,现在Struts2主要支持三种表示技术:JSP,FreeMarkerVelocity但部分的Tag在三种表示技术下都可以使用,但是也有部分只能在某一种情况下使用

 

Tab可以分为两类:通用标签和UI标签

 

4.1节 通用标签

通用标签用来在页面表示的时候控制代码执行的过程,这些标签也允许从Action或者值堆栈中取得数据例如地域,JavaBeansURLs,和action

 

控制标签控制程序执行,例如:ifelse,iterator

数据标签管理数据的取得和创建,例如:beanpush,i18n

 

控制标签

 

if标签

描述

  If标签用来控制基本的条件处理流程,通常和else标签或者elseif标签连用

 

参数

名字

是否必须

默认值

可否使用表达式

类型

描述

id

 

String

用来表示该元素,对于UIForm标签来说直接转变为HTML id属性

test

 

Boolean

用来决定是否显示标签内部内容的表达式

 

例子

<s:if test="%{false}">

    <div>Will Not Be Executed</div>

</s:if>

<s:elseif test="%{true}">

    <div>Will Be Executed</div>

</s:elseif>

<s:else>

    <div>Will Not Be Executed</div>

</s:else>

 

elseIf 标签

参考if标签

 

else 标签

参考if标签

 

append标签

描述

用来做iterator标签的辅助,将不同iterator中的内容合在一个iterator

 

参数

名字

是否必须

默认值

可否使用表达式

类型

描述

id

 

String

用来保存结果iterator的对象在value context中的名字

 

例子

Action

public class AppendIteratorTagAction extends ActionSupport {

 

 private List myList1;

 private List myList2;

 private List myList3;

 

 

 public String execute() throws Exception {

 

     myList1 = new ArrayList();

     myList1.add("1");

     myList1.add("2");

     myList1.add("3");

 

     myList2 = new ArrayList();

     myList2.add("a");

     myList2.add("b");

     myList2.add("c");

 

     myList3 = new ArrayList();

     myList3.add("A");

     myList3.add("B");

     myList3.add("C");

 

     return "done";

 }

 

 public List getMyList1() { return myList1; }

 public List getMyList2() { return myList2; }

 public List getMyList3() { return myList3; }

 

标签使用

<s:append >

     <s:param value="%{myList1}" />

     <s:param value="%{myList2}" />

     <s:param value="%{myList3}" />

</s:append>

<s:iterator value="%{#myAppendIterator}">

     <s:property />

</s:iterator>

 

generator 标签(JSP Tag

描述

val属性生成一个iterator

 

参数

例子

1:

生成一个简单的iterator,并且使用iterator标签打印出内容

<s:generator val="%{'aaa,bbb,ccc,ddd,eee'}">

 <s:iterator>

     <s:property /><br/>

 </s:iterator>

</s:generator>

 

2:

生成一个iterator,使用count属性因为count属性值为3,所以只有前三个内容(aaa,bbb,ccc)在生成的iterator

Generate an iterator with count attribute

<s:generator val="%{'aaa,bbb,ccc,ddd,eee'}" count="3">

 <s:iterator>

     <s:property /><br/>

 </s:iterator>

</s:generator>

 

 

3:

生成iterator,使用了id属性,之后生成的对象放在pageContext中,可以通过指定的id来访问

<s:generator val="%{'aaa,bbb,ccc,ddd,eee'}" count="4" separator="," />

<%

 Iterator i = (Iterator) pageContext.getAttribute("myAtt");

 while(i.hasNext()) {

     String s = (String) i.next();

%>

     <%= s %> <br/>

<%

} 

%>

 

4:

生成iterator,使用converter属性,这里的convertor仅仅将每一个对象添加了一个"converter-"前缀

<s:generator val="%{'aaa,bbb,ccc,ddd,eee'}" converter="%{myConverter}">

 <s:iterator>

     <s:property /><br/>

 </s:iterator>

</s:generator>

 

 

public class GeneratorTagAction extends ActionSupport {

 

  ....

 

  public Converter getMyConverter() {

     return new Converter() {

         public Object convert(String value) throws Exception {

             return "converter-"+value;

         }

     };

  }

 

  ...

 

}

 

iterator 标签

描述

迭代处理一个java.util.Connection或者java.util.Iterator对象

 

参数

名字

是否必须

默认值

可否使用表达式

类型

描述

id

 

String

Id

status

Boolean

如果指定,在循环的过程中会保留一个IteratorStatus类型的变量,该变量用来查询当前迭代的状态

value

 

String

被迭代的对象

 

 

例子

1

<s:iterator value="days">

  <p>day is: <s:property/></p>

</s:iterator>

 

2

<s:bean >

  <s:param value="'foo'"/>

  <s:param value="'bar'"/>

</s:bean>

<p/>

<table border="0" cellspacing="0" cellpadding="1">

<tr>

  <th>Days of the week</th>

</tr>

<p/>

<s:iterator value="#it.days" status="rowstatus">

  <tr>

    <s:if test="#rowstatus.odd == true">

      <td style="background: grey"><s:property/></td>

    </s:if>

    <s:else>

      <td><s:property/></td>

    </s:else>

  </tr>

</s:iterator>

</table>

 

3

<s:iterator value="groupDao.groups" status="groupStatus">

     <tr

class="<s:if test="#groupStatus.odd == true ">odd</s:if><s:else>even</s:else>">

         <td><s:property value="name" /></td>

         <td><s:property value="description" /></td>

         <td>

             <s:iterator value="users" status="userStatus">

                 <s:property value="fullName" />

<s:if test="!#userStatus.last">,</s:if>

分享到:
评论

相关推荐

    Struts2 标签库 [Tablib]

    其中,Struts2的标签库[Tablib]是其核心特性之一,为开发者提供了丰富的JSP标签,使得在视图层的构建更加便捷、高效。这个标签库包括了用于数据展示、表单处理、错误处理等多个方面的组件,大大提高了开发者的生产力...

    【转】Struts2 标签库 [Tablib]

    在Struts2框架中,标签库是其核心组件之一,极大地简化了视图层的开发工作。本文将深入探讨Struts2的标签库,包括其基本概念、常用标签及其使用方法,并通过实例来帮助理解。 一、Struts2标签库概述 Struts2标签库...

    Struts2_Tablib.jar 能用的标签库

    `Struts2_Tablib.jar` 是Struts2框架的一个扩展,它包含了丰富的标签库,用于增强应用的功能和用户体验。 `struts-taglib-1.3.8.jar` 是Struts2的基础标签库,这个版本为1.3.8,它提供了许多常用的标签,如`s:...

    struts2 标签库

    方便实用的struts2标签 struts2标签库 struts2 Tablib

    struts2开发 tablib.rar

    根据提供的标签“源码”和“工具”,我们可以推断这个压缩包可能是用于学习或者开发的一个Struts2示例项目,包含了项目的源代码和开发环境配置。在实际开发中,Struts2框架提供了Action、Interceptor(拦截器)、...

    Struts2 demo2

    6. **tablib**: Tablib可能指的是Struts2的标签库,它提供了一系列预定义的JSP标签,简化视图层的开发,如表单元素、数据展示等。 通过这些知识点,我们可以了解到"Struts2 demo2"可能涵盖了Struts2的核心特性,如...

    JSP指令元素-tablib

    TLD文件是标签库的元数据,它包含了关于标签库中所有标签和函数的信息。每个自定义标签都需要在TLD中注册,以便JSP容器能够识别并处理它们。TLD文件通常以`.tld`为扩展名,并且必须放置在特定的目录结构下,以便JSP...

    itcast Struts源码

    7. **Tablib**:Tablib可能指的是Java中的标签库,它提供了一系列预定义的JSP标签,可以简化视图层的开发,使得JSP页面更加清晰易读。 这些内容都是Struts2框架核心功能的一部分,通过学习和理解这些知识点,开发者...

    企业综合信息管理网站设计与开发论文

    此外,论文还可能涉及到自定义标签库tablib--VoteFunction,这可能是为了定制特定的功能或增强用户体验。 数据库方面,系统选择了SQL Server,这是一款功能强大的关系型数据库管理系统,能有效支持大量数据的存储和...

    java自学计划安排

    - **Struts2**:一个基于MVC设计模式的Web应用框架,提供了丰富的标签库和插件支持。 - **Spring**:一个轻量级的Java应用开发框架,主要用于简化企业级应用的开发过程。 - **Hibernate**:一个ORM(对象关系映射)...

Global site tag (gtag.js) - Google Analytics