1.通用标签:
  • property标签:
    • 用来输出值栈属性的值
    • 如果value属性没有给出,ValueStack值栈栈顶对象的值被输出
    • 许多情况下,EL表达式可以提供更简洁的语法
  • url标签:
  • url方法(常用):
    • action
    • includeParams
    • method
    • namespace
    • value
    • var
  • 作用:使用url可以动态的创建一个URL
  • parms标签:
    • 作用:将一个参数传递给包裹着它的那个标签
    • 属性值:name、value
    • 无论在给出value值时有没有使用%{},Struts都会对它进行ognl解析
    • 想传递一个字符串类型的属性值就必须使用单引号引起来
    • 可以把value属性的值写在开始和结束标签之间,利用这种方式来传递一个el表达式的值
  • set标签:
    • 作用:用以在map对象里创建一个键值对
    • 作用范围:
      • ValueStack值栈的ContextMap值栈
      • Map类型的session对象
      • Map类型的application对象
      • Map类型的request对象
      • Map类型的page对象
  • push标签:
    • 作用:和set标签类似
    • 区别:
      • push标签直接将值封装到ValueStack而不是ContextMap
      • push标签在标签开始时将值放入到栈中,标签结束时拿出
  • 测试标签:
    • 包括:
      • if
      • else
      • elseif
    • 作用:作用于条件测试,除else外使用时必须有test方法
  • iterator标签:
    • 作用:遍历一个数组、Collection或者一个Map,并将这个可遍历对象的每一个元素依次压入和弹出ValueStack
  • sort 标签:
    • 作用:用来对一个可遍历对象进行排序
    • 参数:
      • comparator
      • source
      • var
  • date标签:
    • 作用:用来对Date对象进行排版
    • 参数:
      • format
      • name
      • nice
      • var
    • 注意:format属性的值必须是java.text.SimpleDateFormat类里定义的日期/时间格式之一
  • a标签:
    • 作用:与html中的a标签作用相同
    • 好处:可以对属性值进行OGNL解析
    • 注意:使用%{}进行强制的ognl解析
2.表单标签:
  • 概述:
    • 作用:表单标签将在HTML中被表现为一个表单元素
    • 优点:
      • 表单回显
      • 对页面进行布局和排版
    • 注意:标签的属性可以被赋值为一个静态的值或者一个ognl表达式,如果在赋值时使用了ognl表达式并用了%{}将之包含,这个ognl表达式将被求值
  • form标签:
    • 作用:用来呈现html语言中的表单元素
    • 注意:默认情况下,form标签将被呈现一个表格形式的html表单,嵌套在form标签里的输入字段将被呈现为一个表格行。每个表格行由两个字段组成。一个对应行标,一个对应输入元素,提交按钮将被呈现为一个横跨两列的行。
  • textfield标签:
    • 呈现方式:输入文本字段
  • password标签
    • 呈现方式:口令字段
    • 与textfield字段区别:扩展自textfield字段,但是多了一个showPassword属性,默认为false
  • hidden标签
    • 呈现方式:不可见字段
  • submit标签:
    • 呈现方式:呈现为一个提交按钮,可修改其type属性为三种表现方式:submit、button、image
  • textarea标签:
    • 呈现方式:将呈现一个HTML文本域元素
  • checkbox标签:
    • 呈现方式:将呈现一个HTML复选框元素,该复选框通常用于提交一个boolean值
    • 注意
      • 当一个复选框被选中时,该复选框的值变为true,并且在HTTP中增加一个请求参数,如果为选择则不增加
      • 而struts2中解决了该局限性,它为每一个复选框增加一个不可见的配对字段
  • list、listKey、listValue属性:
    • 作用:作用于radio.select.checkboxlist三个标签,很重要
    • 用法:可以把一个String、一个数组、一个Enumeration、Iterator、Map或者Collection赋值给list属性
  • radio标签:
    • 呈现方式:呈现为一组单选按钮,单选按钮的个数与其list属性值的个数相同
    • 注意:一般使用radio进行多选一,而真与假则使用checkbox标签
  • select标签:
    • 呈现方式:将呈现一个select元素,即下拉列表框
    • 注意:
      • optgroup可以作为select的子标签,用于显示更多下拉框
      • 必须有键值对,而不能使用一个集合,让其值级作为键,又作为值
      • 也可以使用list,但是必须指定listkey和listvalue
  • checkboxlist标签:
    • 呈现方式:呈现一组多选框
    • 注意:
      • checkbox标签被映射到一个字符串数组或者一个基本类型的数组,若它赋值的多选框一个也没有被选中,相应的属性将被赋值为一个空数组而不是空值。
      • 服务端必须使用lsit集合接收,才能保证正常回显
      • 2.5版本使用lsit接收,打印出来后为空集合,且回显值会减少一个,而使用String []接收则可以正常回显,解决方法暂未找到
 
3.主题:
  • 作用:为了让所有的UI标签能够产生同样的视觉效果而归集到一起的一组模板,即风格相近的模板被打包为一个主题
  • Struts2主题:
    • simple:把UI标签翻译成最简单的html对应,而且会忽略行标
    • xhtml:默认主题,这个主题的模板通过使用一个表格布局提供了一种自动化的排版机制
    • css_xhtml:这个主题和xhtml主题相近,但是使用css进行排版布局
    • ajax:以xhtml主题为模板,增加了一些ajax功能
  • 修改主题:
    • 通过UI标签的theme属性
    • 在一个表单里,若没有给出某个UI标签的theme属性,它将使用这个表单的主题
    • 在page、session、request或application中添加一个theme属性
    • 修改default.properties文件中的struts.ui.theme属性
 

04_Struts2标签的更多相关文章

  1. a标签点击跳转失效--IE6、7的奇葩bug

    一般运用a标签包含img去实现点击图片跳转的功能,这是前端经常要用到的东西. 今天遇到个神奇的bug:如果在img上再包裹一层div,而且div设置了width和height,则图片区域点击时,无任何 ...

  2. IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法

    直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...

  3. 百度MIP页规范详解 —— canonical标签

    百度MIP的规范要求必须添加强制性标签canonical,不然MIP校验工具会报错: 强制性标签<link rel="/^(canonical)$/"> 缺失或错误 这 ...

  4. 【CSS进阶】伪元素的妙用--单标签之美

    最近在研读 <CSS SECRET>(CSS揭秘)这本大作,对 CSS 有了更深层次的理解,折腾了下面这个项目: CSS3奇思妙想 -- Demo (请用 Chrome 浏览器打开,非常值 ...

  5. TODO:Laravel 使用blade标签布局页面

    TODO:Laravel 使用blade标签布局页面 本文主要介绍Laravel的标签使用,统一布局页面.主要用到到标签有@yield,@ stack,@extends,@section,@stop, ...

  6. 最新 去掉 Chrome 新标签页的8个缩略图

    chrome的新标签页的8个缩略图实在让人不爽,网上找了一些去掉这个略缩图的方法,其中很多已经失效.不过其中一个插件虽然按照原来的方法已经不能用了,但是稍微变通一下仍然是可以用的(本方法于2017.1 ...

  7. css-父标签中的子标签默认位置

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  8. xpath提取多个标签下的text

    title: xpath提取多个标签下的text author: 青南 date: 2015-01-17 16:01:07 categories: [Python] tags: [xpath,Pyth ...

  9. 多个Img标签之间的间隙处理方法

    1.多个标签写在一行 <img src="/i/eg_tulip.jpg" alt="郁金香" height="100px"/> ...

随机推荐

  1. python3全栈开发-面向对象的三大特性(继承,多态,封装)之继承

    一 .初识继承 1.什么是继承 继承是一种创建新类的方式,新建的类可以继承一个或多个父类(python支持多继承),父类又可称为基类或超类,新建的类称为派生类或子类. 特点: 子类会“”遗传”父类的属 ...

  2. Scala:枚举类型的用法

    枚举定义: /** * 场景类型的划分分类:划分出7类 */ object BuildingCalibrateHeightType extends Enumeration { type Buildin ...

  3. Struts(十六):通过CURD来学习Struts流程及ModelDriven的用法

    背景: 从一个Member的增删改查,来了解Struts2的运行原理及学习ModelDriven拦截器.Preparable拦截器. 新建项目实现列表的展示及删除功能: web.xml <?xm ...

  4. Selenium_java coding

    1)public class HelloWorld { // class 是类的意思 // 类名指的是class后面这个词,这个词是我们起的名 public static void main(Stri ...

  5. kubernetes controller 实现

    对于kubernetes中不存在的资源类型,我们可以通过自定义资源的方式进行扩展,首先创建customresourcedefinition对象定义资源及其schema,然后就可以创建自定义的资源了,但 ...

  6. 从让 HTTPS 更安全出发,聊聊 HTTPS

    随着公众对网络安全的日益关注,各种网络安全防护手段层出不穷.HTTPS Everywhere作为提升HTTPS安全性的有效手段,日前安全性与实用性再次得到了加强. HTTPS虽然可以有效提升用户浏览网 ...

  7. 解决-Django使用filter过滤时间,无法获取月份的问题

    django中的filter日期查询属性有:year.month.day.week_day.hour.minute.second 但是但我在使用过滤查询是却总是无法过滤出月份,各种查资料,最后才发现是 ...

  8. 学习ASP.NET Core Razor 编程系列六——数据库初始化

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...

  9. [LeetCode] Candy Crush 糖果消消乐

    This question is about implementing a basic elimination algorithm for Candy Crush. Given a 2D intege ...

  10. openfire彻底卸载的方法

    最近百度找openfire彻底卸载的方法,很多都是三句命令行的答案.但是那三句真的无法完全卸载 终于从openfire官网找到了卸载的命令 终端执行下面的命令 sudo rm -rf /usr/loc ...