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有如下非表单标签:

  1. actionerror:如果Action实例的getActionErrors()方法返回不为null,则该标签负责输出该方法返回的系列错误;
  2. actionmessage:如果Action实例的getActionMessage()方法返回不为null,则该标签负责输出该方法返回的系列消息;
  3. fielderror:如果Action实例存在表单域的类型转换错误、校验错误、则该标签负责输出这些错误提示。

  我觉得Struts2标签库,这一板块没必要深究,认真看了看,更多的是记忆的东西,用的多了就记住了。所以,项目中遇到忘记了的标签,直接查一下就好了,这样效果也比较好。

JavaWeb框架_Struts2_(五)----->Struts2的标签库的更多相关文章

  1. JavaWeb框架_Struts2_(六)----->Struts2的输入校验

    1. 输入校验章节目录 输入校验概述 客户端校验 服务器端校验 手动编程校验 重写validate方法 重写validateXxx()方法 输入校验流程 校验框架校验 Struts2 内置的校验器 常 ...

  2. JavaWeb框架_Struts2_(八)----->Struts2的国际化

    这一篇博文拖了蛮久了,现在先把它完成,结束struts2这个版块,当然这只是最基础的部分,做项目还需要更深的理解.下一个web后端的版块准备做Spring框架的学习-嗯,加油! 1. Struts2的 ...

  3. JavaWeb框架_Struts2_(二)----->Struts2的核心配置

    2.  Struts2的核心配置 2.1  配置Struts.xml文件 2.1.1 Struts.xml文件 Struts2框架的核心配置文件是Struts.xml,该文件主要用来配置Action和 ...

  4. JavaWeb框架_Struts2_(一)----->Struts2 框架入门

    1.  框架入门 2.1  Struts2简介 (1). Struts2是一种基于MVC模式的的轻量级Web开发框架. MVC模式:MVC全名是Model View Controller,是模型(mo ...

  5. JavaWeb框架_Struts2_(三)---->Struts2的拦截器

    2. Struts2的拦截器(使用拦截器实现权限控制) 2.1 拦截器的概述 拦截器是Struts2的核心组成部分,它可以动态的拦截Action调用的对象,类似与Servlet中的过滤器.Struts ...

  6. Struts2的标签库(五)——表单标签

    Struts2的标签库(五) --表单标签 几个特殊的表单标签的使用: 1.checkboxlist标签 该标签用于创建多个复选框,用于同时生成多个<input type="check ...

  7. Struts2入门(五)——OGNL和标签库

    一.前言 OGNL和标签库的作用,粗暴一点说,就是减少在JSP页面中出现java代码,利于维护. 1.1.OGNL 1.1.1.什么是OGNL? OGNL(Object-Graph Navigatio ...

  8. (转)Struts2的标签库

    http://blog.csdn.net/yerenyuan_pku/article/details/68638679 Struts2的标签库 对于一个MVC框架而言,重点是实现两部分:业务逻辑控制器 ...

  9. Struts2的标签库(四)——数据标签

    Struts2的标签库(四) --数据标签 1.action标签 该标签用于在jsp页面直接调用一个Action,通过指定executeResult参数,还可以将Action的处理结果包含到此页面中来 ...

随机推荐

  1. 如何实现 Service 伸缩?- 每天5分钟玩转 Docker 容器技术(97)

    上一节部署了只有一个副本的 Service,不过对于 web 服务,我们通常会运行多个实例.这样可以负载均衡,同时也能提供高可用. swarm 要实现这个目标非常简单,增加 service 的副本数就 ...

  2. ZZCMS8.1|代码审计

    这周的审计任务 ZZCMS8.1是站长招商网内容管理系统.审计这个CMS的原因很多,这里就不详说了(其实是漏洞类型多点)                                         ...

  3. webpack 3.X学习之初始构建

    webpack是什么 webpack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Sass,TypeScript等),并 ...

  4. Dynamics 365创建电子邮箱字段包含值的联系人同时更改负责人的方法。

    摘要: 本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复267或者20171129可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyon ...

  5. [Docker网络]模拟一台交换机的拓扑

    [Docker网络]模拟一台交换机的拓扑 本例主要对Docker网络进行实际运用. 背景介绍 一台虚拟机如何模拟成一台多端口交换机分别连接多台虚拟机? bridge网桥技术 实验准备 docker d ...

  6. Servlet中web.xml 以及 <url-pattern>总结

    web.xml中添加Servlet配置信息 使用Eclipse创建Servlet,会自动的在WEB-INF下的web.xml中声明,但是有的时候需要我们手动的写入配置信息,以下就是Servlet在we ...

  7. 找到链表的倒数第K位

    #include<iostream> using namespace std; class node{ public: node():value(),next(NULL){} ~node( ...

  8. 怎么让普通用户使用root权限执行用户命令

    1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户#passwd tommy //修改密码Changing passwo ...

  9. javascript设计模式——发布订阅模式

    前面的话 发布—订阅模式又叫观察者模式,它定义对象间的一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知.在javascript开发中,一般用事件模型来替代传统的发布—订阅模 ...

  10. C# 把Div变为滚动条

    <div runat="server" style="overflow:auto;width:350px;height:200px" > <a ...