`

《研磨struts2》第八章 Struts2的Taglib 之 8.1 Struts2的Taglib概述

 
阅读更多

8.1  Struts2Taglib概述

8.1.1概述

Struts2自带了一套非常强大的标签库,不仅自身功能强大,而且与Struts2中的其它部分无缝结合。在学习之前,先来简要回忆一下标签到底是干什么的?

估计大多数朋友都使用过JSTL,那自然熟悉JSTL的核心标签,也就是c标签。在JSP页面上使用标签,可以分离JSP上的Java代码与HTML。其中HTML用来管理把数据展现在哪儿,而Java代码用来获取数据。

先来看一个例子,如果现在request的user属性上有一个放好的UserModel,如果不使用标签,直接用Java代码来访问数据,将会写出如下的代码:

 

java代码:
  1. <%@page import="cn.javass.user.UserModel" %>  
  2.     <%UserModel user = (UserModel)request.getAttribute("user"); %>  
  3.     <table border="1">  
  4.         <tr>  
  5.             <td colspan="2">用户信息</td>  
  6.         </tr>  
  7.         <tr>  
  8.             <td>姓名</td>  
  9.             <td><%=user.getName()%></td>  
  10.         </tr>  
  11.         <tr>  
  12.             <td>年龄</td>  
  13.             <td><%=user.getAge()%></td>  
  14.         </tr>  
  15.     </table>  

你会看到,上例的HTML与Java代码混杂,而且在操作的时候,Java是一种强语言类型,要导入所有要使用的类,还要手工到request中去获取属性,非常麻烦。

       但是,如果使用c标签加上EL表达式,就清晰了许多:

 

java代码:
  1. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>  
  2.     <table border="1">  
  3.         <tr>  
  4.             <td colspan="2">用户信息</td>  
  5.         </tr>  
  6.         <tr>  
  7.             <td>姓名</td>  
  8.             <td><c:out value="${user.name}"/></td>  
  9.         </tr>  
  10.         <tr>  
  11.             <td>年龄</td>  
  12.             <td><c:out value="${user.age}"/></td>  
  13.         </tr>  
  14.     </table>  

现在再引用request中的user属性的时候,不需要知道它的类型,想要引用它的name属性,只需要使用EL表达式${user.name}即可。这样,c标签就代替了原来的Java代码,使得页面变得整洁;而且由于EL是弱类型语言,不需要知道user的类型,因此,那些烦人的导入也就不用写了。

       了解了标签是做什么的,接下来来说明一下标签被调用的时机:标签是在JSP页面初始化的时候被调用,然后生成相应的HTML代码。所以,学习某些可见标签的捷径,就是在页面初始化之后,查看它的源文件,看看生成的HTML代码到底是什么样的。

8.1.2 Struts2标签的分类

Struts2标签包含很多内容,可以按照其功能大致分为四类:

  • 数据标签:用来从值栈上取值或者向值栈赋值。
  • 控制标签:控制程序的运行流程,比如分支和循环控制。
  • UI标签:用来显示UI界面的标签,多会生成HTML。
  • 杂项标签:用于完成其它功能的标签,比如生成URL和输出国际化文本等

当然,这些并不是Struts2标签库的全部,除此之外,还有一些其他作用的标签,比如ajax标签。

       接下来讲述一些主要的标签,由于有些标签的属性太多,不能一一列举,只能讲述一个标签主要的属性。

 

私塾在线网站原创《研磨struts2》系列

转自请注明出处:【http://sishuok.com/forum/blogPost/list/0/4077.html

欢迎访问http://sishuok.com获取更多内容

2
1
分享到:
评论

相关推荐

    研磨struts2

    第八章介绍了Struts2的Taglib库,包括数据标签、控制标签和UI标签,这些标签大大简化了JSP页面的编写,提高了代码的可读性和可维护性。第九章则关注国际化,介绍了如何在Struts2中实现多语言支持,这对于面向全球...

    pager-taglib_struts2 安装使用

    1. **下载Pager Taglib**:可以从Struts2的官方仓库或者第三方软件源获取Pager Taglib的jar包。确保下载的是与当前Struts2版本兼容的版本。 2. **添加依赖**:将下载的jar包添加到项目的类路径中。如果是Maven项目...

    struts taglib使用示例

    struts taglib使用示例 struts taglib使用示例 struts taglib使用示例struts taglib使用示例 struts taglib使用示例

    taglib(struts2标签).doc

    Struts2 是一款流行的 Java Web 开发框架,它极大地简化了视图与控制器的交互。在 Struts2 中,Taglib(标签库)是用于增强 JSP 页面功能的关键...因此,熟悉 Struts2 的 Taglib 是 Java Web 开发者必备的技能之一。

    研磨struts2_系列文章.pdf

    ### Struts2概述 #### MVC模式 MVC(Model-View-Controller)模式是Struts2框架的基础,它将应用程序分为三个主要部分:模型(Model)负责处理应用程序的数据和逻辑;视图(View)用于展示数据给用户;控制器...

    struts-taglib-1.3.10.jar struts-taglib.jar taglib.jar

    struts-taglib-1.3.10.jar struts-taglib.jar taglib.jar

    struts2+pager-taglib 实现分页小例子

    而Pager-taglib是Struts2的一个扩展,它提供了一种便捷的方式来实现页面的分页功能,这对于处理大量数据的展示至关重要。 在分页应用中,Pager-taglib允许开发者在页面上显示数据的一部分,而不是一次性加载所有...

    解决MyEclipse下开发Struts异常:org.apache.struts.taglib.bean.CookieTei.doc 下载

    我们将深入探讨如何解决在MyEclipse环境下开发Struts应用时遇到的一个常见问题:“org.apache.jasper.JasperException: Failed to load or instantiate TagExtraInfo class: org.apache.struts.taglib.bean....

    Struts开发指南之Taglib.doc

    #### 二、Struts Taglib概述 Struts框架提供了多种自定义的Taglib,旨在简化JSP页面的开发流程,减少页面中的Java代码量,提高代码的可读性和可维护性。Struts的Taglib主要分为六种: 1. **bean** - struts-bean ...

    struts2.0 taglib 标签库

    Struts2.0 Taglib标签库是Struts2框架中的核心组成部分,它提供了一组丰富的JSP标签,简化了视图层的开发,使得开发者可以更加专注于业务逻辑,而不用过多地处理HTML和Java代码的混杂。这些标签主要分为以下几大类:...

    taglib(struts1.3)源码

    Struts1.3 Taglib源码分析 Struts1.3是Apache软件基金会下的一个开源框架,主要用于构建基于Java的Web应用程序。Taglib是Struts框架的重要组成部分,它提供了丰富的自定义标签,使得开发者能够更方便地在JSP页面中...

    struts2标签使用例子

    - 引入Struts2标签库:在JSP页面头部添加`&lt;%@ taglib prefix="s" uri="/struts-tags"%&gt;`。 - 在Action中定义相关属性和方法。 - 在JSP页面中使用标签,如`s:textfield name="username"`绑定Action的username属性...

    Struts2案例翻译篇-Using Struts2 Tag

    在Struts2中,Tag库是其核心组件之一,极大地简化了视图层的开发,使得开发者可以更方便地创建动态网页。本篇将深入讲解如何在Struts2中使用Tag,以及它们在"HelloWorld"案例中的应用。 1. **Struts2 Tags介绍** ...

    struts2 自定义标签

    Struts2作为一款流行的Java Web框架,极大地简化了MVC应用的开发。在Struts2中,自定义标签是提高代码可读性和可维护性的重要工具。本文将深入探讨Struts2自定义标签的实现机制、优点以及如何在实际项目中进行应用。...

    struts1和struts2的区别

    在视图层,Struts1依赖JSP标准机制绑定对象,而Struts2采用ValueStack技术,允许taglib访问值栈中的值,无需在视图和对象之间建立硬绑定,提高了代码复用性。 类型转换方面,Struts1的ActionForm属性通常是字符串,...

    struts1和struts2区别

    - **Struts2**:采用ValueStack技术,允许taglib直接访问视图,无需显式绑定,增强了重用性。 8. **类型转换**: - **Struts1**:依赖Commons-Beanutils进行类型转换,转换器不可配置且通常是针对String类型。 -...

    struts2.2.3需要11个基本包

    10. **Struts2-taglib**: 提供JSP标签库,简化视图层的开发。 11. **Struts2-i18n**: 国际化支持,帮助开发多语言的应用程序。 除了这些基本包,开发者可能还需要根据项目需求引入其他扩展包,如Struts2-...

    struts-taglib-1.3.8.jar

    struts-taglib-1.3.8.jar struts-taglib-1.3.8.jar

Global site tag (gtag.js) - Google Analytics