JavaWeb框架_Struts2_(五)----->Struts2的标签库
1. Struts2的标签库
1.1 Struts2标签库概述
Struts2的标签库可以分为以下3类:用户界面标签、非用户界面标签、AJAX标签;

2.1.1 Struts2标签库的分类和使用
1. 从上图中可以看出,标签的分类如下:
(1) 用户界面标签(UI标签)
UI标签主要用来生成HTML元素的标签,又分为表单标签和非表单标签。表单标签主要用于生成HTML页面的form元素,以及普通表单元素的标签。非表单元素标签主要用于在页面生成一些非表单的可视化元素。
(2) 非用户界面标签(非UI标签)
非UI标签主要用于数据访问以及逻辑控制,包括数据访问标签和逻辑控制标签。数据访问标签,主要用于输出值栈(ValueStack)中的值、完成国际化等功能的标签。流程控制标签,主要用于实现分支、循环等流程控制标签。
(3) AJAX标签
AJAX标签用于支持Ajax效果。
2. Struts2标签的使用要在JSP页面代码的顶部,添加以下代码:
<%@taglib prefix = "S" uri = "/struts-tags" %>
2.2 Struts2的数据标签
Struts2主要的数据标签如下表格所示:
| 标签名 | 描述 |
| action | 用于JSP页面直接调用Action,当需要调用Action时,可以指定Action的namespace,若指定了executeResult参数的值为true,该标签还会将Action的处理结果(视图页面) |
| bean | 用于创建一个JavaBean实例。如果指定了id属性,则可以将创建的JavaBean实例放入Stack Context中 |
| date | 用于创建一个JavaBean实例。如果指定id属性 |
| debug | 用于在页面上生成一个调试链接,当单击该链接时,可以看到ValueStack和StackContext中的内容 |
| il8n | 用于指定国际化资源文件的baseName |
| include | 用于在JSP页面中包含其他的JSP或Servlet资源 |
| param | 用于设置一个参数,通常是用作为bean标签、url标签的子标签 |
| push | 用于将某个值放入ValueStack的栈顶 |
| set | 用于设置一个新变量,并且可以将新变量放入指定的范围内 |
| text | 用于输出国际化消息 |
| url | 用于生成一个URL地址 |
| property | 用于生成输出某个值,包括输出ValueStack、Stack Context和Action Context中的值 |
2.3 Struts2的流程控制标签
Struts2主要的流程控制标签如下表格所示:
| 标签名 | 描 述 |
| if/elseif/else | 用于控制选择输出的标签 |
| append | 用于将多个集合拼接成为一个新的集合 |
| gennerator | 用于将一个字符串解析成一个集合 |
| iterator | 用于将集合迭代输出 |
| merge | 用于将多个集合拼接成一个新的集合,但与append拼接方式不同 |
| sort | 用于对集合进行排序 |
| subset | 用于截取集合的部分元素,形成一个新的集合 |
2.4 Struts2的表单标签
Struts2的表单标签是用户最常用的标签,这些表单标签都包含了非常多的属性,但有很多属性是完全相通的。大部分表单标签和HTML标签一一对应。这里不再介绍。
2.5 Struts2的非表单标签
Struts2有如下非表单标签:
- actionerror:如果Action实例的getActionErrors()方法返回不为null,则该标签负责输出该方法返回的系列错误;
- actionmessage:如果Action实例的getActionMessage()方法返回不为null,则该标签负责输出该方法返回的系列消息;
- fielderror:如果Action实例存在表单域的类型转换错误、校验错误、则该标签负责输出这些错误提示。
我觉得Struts2标签库,这一板块没必要深究,认真看了看,更多的是记忆的东西,用的多了就记住了。所以,项目中遇到忘记了的标签,直接查一下就好了,这样效果也比较好。
JavaWeb框架_Struts2_(五)----->Struts2的标签库的更多相关文章
- JavaWeb框架_Struts2_(六)----->Struts2的输入校验
1. 输入校验章节目录 输入校验概述 客户端校验 服务器端校验 手动编程校验 重写validate方法 重写validateXxx()方法 输入校验流程 校验框架校验 Struts2 内置的校验器 常 ...
- JavaWeb框架_Struts2_(八)----->Struts2的国际化
这一篇博文拖了蛮久了,现在先把它完成,结束struts2这个版块,当然这只是最基础的部分,做项目还需要更深的理解.下一个web后端的版块准备做Spring框架的学习-嗯,加油! 1. Struts2的 ...
- JavaWeb框架_Struts2_(二)----->Struts2的核心配置
2. Struts2的核心配置 2.1 配置Struts.xml文件 2.1.1 Struts.xml文件 Struts2框架的核心配置文件是Struts.xml,该文件主要用来配置Action和 ...
- JavaWeb框架_Struts2_(一)----->Struts2 框架入门
1. 框架入门 2.1 Struts2简介 (1). Struts2是一种基于MVC模式的的轻量级Web开发框架. MVC模式:MVC全名是Model View Controller,是模型(mo ...
- JavaWeb框架_Struts2_(三)---->Struts2的拦截器
2. Struts2的拦截器(使用拦截器实现权限控制) 2.1 拦截器的概述 拦截器是Struts2的核心组成部分,它可以动态的拦截Action调用的对象,类似与Servlet中的过滤器.Struts ...
- Struts2的标签库(五)——表单标签
Struts2的标签库(五) --表单标签 几个特殊的表单标签的使用: 1.checkboxlist标签 该标签用于创建多个复选框,用于同时生成多个<input type="check ...
- Struts2入门(五)——OGNL和标签库
一.前言 OGNL和标签库的作用,粗暴一点说,就是减少在JSP页面中出现java代码,利于维护. 1.1.OGNL 1.1.1.什么是OGNL? OGNL(Object-Graph Navigatio ...
- (转)Struts2的标签库
http://blog.csdn.net/yerenyuan_pku/article/details/68638679 Struts2的标签库 对于一个MVC框架而言,重点是实现两部分:业务逻辑控制器 ...
- Struts2的标签库(四)——数据标签
Struts2的标签库(四) --数据标签 1.action标签 该标签用于在jsp页面直接调用一个Action,通过指定executeResult参数,还可以将Action的处理结果包含到此页面中来 ...
随机推荐
- Node学习——开篇
前言:自从下决心转学前端以来,我的专业课java基本荒废了,所以对于后台开发的逻辑也已基本忘干净了.但是作为一名准前端程序猿,我认为还是有必要了解后端开发的,虽不必深入学习,但是能够了解项目从前端到后 ...
- 前端面试题:css相关面试题
CSS 选择器中,元素选择器和类选择器的区别是什么? 元素选择器是最常见的 CSS 选择器,即,文档的元素就是最基本的选择器.选择器通常是某个 HTML 元素,比如 <p>.<h1& ...
- mysql导入导出命令(Linux+Windows)
Linux环境: 壹.首先查看mysql的数据存放路径:ps -ef|grep mysql 贰.进入上述查出的mysql数据存放路径:cd var/lib/mysql (数据存放路径) 叁.导出 ...
- 浏览器输入URL加载的全过程都发生了什么事情,你知道?
什么是URL: 统一资源定位符(URL,英文 Uniform / Universal Reaource Locator 的缩写) 标准的URL由服务类型(协议).存放资源的主机域名(可以是域名或者ip ...
- 前端自动化测试漫长路之——Selenium初探
引言 最近想解决前端开发或测试中的两个问题:一是界面UI的布局适配,能否在测试的过程中,通过命令操作真机打开相应页面然后截屏,通过对图片识别分类,发现有问题的图片,然后及时修复:二是页面性能分析,很多 ...
- PHP扩展安装方法
php扩展安装方法极简单. 也遵循3大步.但多出一个phpize的步骤. 1.pecl.php.net 在右上解的输入框 中输入需要的扩展 比如 redis 2.搜索完成后会看到两个蓝色的框 ...
- node.js爬虫
这是一个简单的node.js爬虫项目,麻雀虽小五脏俱全. 本项目主要包含一下技术: 发送http抓取页面(http).分析页面(cheerio).中文乱码处理(bufferhelper).异步并发流程 ...
- VS2015 密钥key
亲测可用: HMGNV-WCYXV-X7G9W-YCX63-B98R2
- Python中创建ndarrary的20中方法
本文完整示例:完整示例代码 本文介绍了基础的.常用的创建ndarrary的多种方法,附带示例代码. 一.通过ndarray创建 import numpy as np 1.1 一维数组 a = np.a ...
- Java VS .NET:Java与.NET的特点对比
一.前言 为什么要写Java跟.NET对比? .NET出生之后就带着Java的影子.从模仿到创新,.NET平台也越来越成熟.他们不同的支持者也经常因为孰弱孰强的问题争论不休.但是本文并不是为了一分高下 ...