8.1 Struts2的Taglib概述
8.1.1概述
Struts2自带了一套非常强大的标签库,不仅自身功能强大,而且与Struts2中的其它部分无缝结合。在学习之前,先来简要回忆一下标签到底是干什么的?
估计大多数朋友都使用过JSTL,那自然熟悉JSTL的核心标签,也就是c标签。在JSP页面上使用标签,可以分离JSP上的Java代码与HTML。其中HTML用来管理把数据展现在哪儿,而Java代码用来获取数据。
先来看一个例子,如果现在request的user属性上有一个放好的UserModel,如果不使用标签,直接用Java代码来访问数据,将会写出如下的代码:
java代码:
- <%@page import="cn.javass.user.UserModel" %>
- <%UserModel user = (UserModel)request.getAttribute("user"); %>
- <table border="1">
- <tr>
- <td colspan="2">用户信息</td>
- </tr>
- <tr>
- <td>姓名</td>
- <td><%=user.getName()%></td>
- </tr>
- <tr>
- <td>年龄</td>
- <td><%=user.getAge()%></td>
- </tr>
- </table>
你会看到,上例的HTML与Java代码混杂,而且在操作的时候,Java是一种强语言类型,要导入所有要使用的类,还要手工到request中去获取属性,非常麻烦。
但是,如果使用c标签加上EL表达式,就清晰了许多:
java代码:
- <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
- <table border="1">
- <tr>
- <td colspan="2">用户信息</td>
- </tr>
- <tr>
- <td>姓名</td>
- <td><c:out value="${user.name}"/></td>
- </tr>
- <tr>
- <td>年龄</td>
- <td><c:out value="${user.age}"/></td>
- </tr>
- </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获取更多内容
分享到:
相关推荐
1. **下载Pager Taglib**:可以从Struts2的官方仓库或者第三方软件源获取Pager Taglib的jar包。确保下载的是与当前Struts2版本兼容的版本。 2. **添加依赖**:将下载的jar包添加到项目的类路径中。如果是Maven项目...
struts taglib使用示例 struts taglib使用示例 struts taglib使用示例struts taglib使用示例 struts taglib使用示例
Struts2 是一款流行的 Java Web 开发框架,它极大地简化了视图与控制器的交互。在 Struts2 中,Taglib(标签库)是用于增强 JSP 页面功能的关键...因此,熟悉 Struts2 的 Taglib 是 Java Web 开发者必备的技能之一。
struts-taglib-1.3.10.jar struts-taglib.jar taglib.jar
struts-taglib-1.3.8.jar struts-taglib-1.3.8.jar
而Pager-taglib是Struts2的一个扩展,它提供了一种便捷的方式来实现页面的分页功能,这对于处理大量数据的展示至关重要。 在分页应用中,Pager-taglib允许开发者在页面上显示数据的一部分,而不是一次性加载所有...
我们将深入探讨如何解决在MyEclipse环境下开发Struts应用时遇到的一个常见问题:“org.apache.jasper.JasperException: Failed to load or instantiate TagExtraInfo class: org.apache.struts.taglib.bean....
#### 二、Struts Taglib概述 Struts框架提供了多种自定义的Taglib,旨在简化JSP页面的开发流程,减少页面中的Java代码量,提高代码的可读性和可维护性。Struts的Taglib主要分为六种: 1. **bean** - struts-bean ...
Struts2.0 Taglib标签库是Struts2框架中的核心组成部分,它提供了一组丰富的JSP标签,简化了视图层的开发,使得开发者可以更加专注于业务逻辑,而不用过多地处理HTML和Java代码的混杂。这些标签主要分为以下几大类:...
Struts1.3 Taglib源码分析 Struts1.3是Apache软件基金会下的一个开源框架,主要用于构建基于Java的Web应用程序。Taglib是Struts框架的重要组成部分,它提供了丰富的自定义标签,使得开发者能够更方便地在JSP页面中...
- 引入Struts2标签库:在JSP页面头部添加`<%@ taglib prefix="s" uri="/struts-tags"%>`。 - 在Action中定义相关属性和方法。 - 在JSP页面中使用标签,如`s:textfield name="username"`绑定Action的username属性...
在Struts2中,Tag库是其核心组件之一,极大地简化了视图层的开发,使得开发者可以更方便地创建动态网页。本篇将深入讲解如何在Struts2中使用Tag,以及它们在"HelloWorld"案例中的应用。 1. **Struts2 Tags介绍** ...
Struts2作为一款流行的Java Web框架,极大地简化了MVC应用的开发。在Struts2中,自定义标签是提高代码可读性和可维护性的重要工具。本文将深入探讨Struts2自定义标签的实现机制、优点以及如何在实际项目中进行应用。...
在视图层,Struts1依赖JSP标准机制绑定对象,而Struts2采用ValueStack技术,允许taglib访问值栈中的值,无需在视图和对象之间建立硬绑定,提高了代码复用性。 类型转换方面,Struts1的ActionForm属性通常是字符串,...
- **Struts2**:采用ValueStack技术,允许taglib直接访问视图,无需显式绑定,增强了重用性。 8. **类型转换**: - **Struts1**:依赖Commons-Beanutils进行类型转换,转换器不可配置且通常是针对String类型。 -...
10. **Struts2-taglib**: 提供JSP标签库,简化视图层的开发。 11. **Struts2-i18n**: 国际化支持,帮助开发多语言的应用程序。 除了这些基本包,开发者可能还需要根据项目需求引入其他扩展包,如Struts2-...