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的处理结果包含到此页面中来 ...
随机推荐
- pyqt的基本组件
转载 熟悉常用的窗口组件: 1 按钮类 QPushButton 普通按钮 QToolButton 工具按钮:通常在工具栏使用 QRadioButton 单选框 QCheckBox 复选框 QComma ...
- Lucene入门-安装和运行Demo程序
Lucene版本:7.1 一.下载安装包 https://lucene.apache.org/core/downloads.html 二.安装 把4个必备jar包和路径添加到CLASSPATH \lu ...
- 开源纯C#工控网关+组态软件(六)图元组件
一. 图元概述 图元是构成人机界面的基本单元.如一个个的电机.设备.数据显示.仪表盘,都是图元.构建人机界面的过程就是铺排.挪移.定位图元的过程. 图元设计是绘图和编码的结合.因为图元不仅有显示和 ...
- 《java.util.concurrent 包源码阅读》10 线程池系列之AbstractExecutorService
AbstractExecutorService对ExecutorService的执行任务类型的方法提供了一个默认实现.这些方法包括submit,invokeAny和InvokeAll. 注意的是来自E ...
- 数字三角形-poj
题目要求: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 在上面的数字三角形中寻找在上面的数字三角形中寻找一条从顶部到底边的路径,使得路径上所经过的数字之和最大.路径上的每一步都只能往左 ...
- mysql索引优化面试题
曾经偷偷的面试了两个单位,都提到了Mysql的优化问题,所以以后要多多学习数据库的优化知识了.建设数据库的优化大概主要就是索引的优化了吧,因为我们不可能修改数据结构的情况下,提高数据库的查询效率似乎也 ...
- Scala中的override
Scala中的override override是覆盖的意思,在很多语言中都有,在scala中,override是非常常见的,在类继承方面,它和java不一样,不是可写可不写的了,而是必须写的.如果不 ...
- 利用纯CSS美化checkbox和radio和滑动按钮的实现
W3C提供的CheckBox和radio的原始样式非常的丑,而且在不同的额浏览器表现还不一样,使用常规的方法添加样式没法进行修改样式 一, 单选按钮 <html> <head> ...
- python 正则表达式之零宽断言
零宽断言:用于查找特定内容之前或之后的内容,但并不包括特定内容本身.对于零宽断言来说,我认为最重要的一个概念是位置,零宽断言用于指定一个位置,这个位置应该满足一定的条件(它附近满足什么表达式),并且这 ...
- List<Object>中,以Object的某一属性值为参照进行排序,选取最大记录的解决办法
一.场景:java web, 在一列表中选取一条记录,该记录的某一个属性值在此List中为最大值: List的格式为List<Object>,其中Object为定义的Vo或者Po类,其中包 ...