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. netty学习--handler传递

    在netty中的处理链pipeline中,事件是按顺序传递的,把自己拟人为netty程序,针对进来(inbound)的请求,会从head开始,依次往tail传递. pipeline采用了链表结构,he ...

  2. 记录java/javascript让浮点数显示两位小数的方法

    参考:http://www.jb51.net/article/46010.htm 另,如果只是要在页面层展示的时候,显示为两位小数,也可以直接改前端js代码. item.turnoverRate = ...

  3. Windows10下的docker安装与入门 (三) 创建自己的docker镜像并且在容器中运行它

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...

  4. libevent中evmap实现(哈希表)

    libevent中,需要将大量的监听事件event进行归类存放,比如一个文件描述符fd可能对应多个监听事件,对大量的事件event采用监听的所采用的数据结构是event_io_map,其实现通过哈希表 ...

  5. python3全栈开发-内置函数补充,反射,元类,__str__,__del__,exec,type,__call__方法

    一.内置函数补充 1.isinstance(obj,cls)检查是否obj是否是类 cls 的对象 class Foo(object): pass obj = Foo() print(isinstan ...

  6. C#之Message(转)

    一.消息概述 Windows下应用程序的执行是通过消息驱动的.消息是整个应用程序的工作引擎,我们需要理解掌握我们使用的编程语言是如何封装消息的原理. 什么是消息(Message) 消息就是通知和命令. ...

  7. thinphp验证码的简单实现

    index.html <!DOCTYPE html><html lang="en"><head> <meta charset=" ...

  8. [LeetCode] Solve the Equation 解方程

    Solve a given equation and return the value of x in the form of string "x=#value". The equ ...

  9. [LeetCode] Smallest Good Base 最小的好基数

    For an integer n, we call k>=2 a good base of n, if all digits of n base k are 1. Now given a str ...

  10. servlet之重写

    package app02a;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;impo ...