04_Struts2标签

时间:2022-09-24 15:11:02
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. HDU - Travel

    Problem Description Jack likes to travel around the world, but he doesn’t like to wait. Now, he is t ...

  2. 十二、Android UI开发专题&lpar;转&rpar;

    http://dev.10086.cn/cmdn/bbs/viewthread.php?tid=18736&page=1#pid89255Android UI开发专题(一) 之界面设计 近期很 ...

  3. 11i - 12 How To Set Email Style Preference For All Users At Once&quest;

    (文档 ID 578574.1) In this Document   Goal   Solution   Workflow Information Center, Diagnostics, &amp ...

  4. vgrant使用简易教程

    认识vagrant vagrant用于创建和部署虚拟化开发环境 避免了多次重新配置环境 节约了开发时间,同时可以体验不同的操作系统 对于新手也是一个不错的方式,当我们配置出错,直接删除重新安装即可 准 ...

  5. python反编译工具

    开发类在线工具:https://tool.lu/一个反编译网站:https://tool.lu/pyc/ 一看这个标题,就是搞坏事用的, 用 java 写程序多了,很习惯用反编译工具了,而且玩java ...

  6. 《剑指offer》左旋转字符串

    本题来自<剑指offer> 反转链表 题目: 思路: C++ Code: Python Code: 总结:

  7. PAT乙级考前总结(五&rpar;

    字符串处理 1003 我要通过! (20 分) “答案正确”是自动判题系统给出的最令人欢喜的回复.本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否 ...

  8. 今日头条面试题——LRU原理和Redis实现

    很久前参加过今日头条的面试,遇到一个题,目前半部分是如何实现 LRU,后半部分是 Redis 中如何实现 LRU. 我的第一反应应该是内存不够的场景下,淘汰旧内容的策略.LRU ... Least R ...

  9. TP5调用微信JSSDK 教程 - 测试成功案例

    前提:必需了解TP5的全局配置,扩展目录,composer,依赖注入的概念: 第一步:首先配置加载官方JSSDK类 "autoload": { "files": ...

  10. 12&period;1-uC&sol;OS-III调度的内部实现

    1.调度的内部实现通过这两个函数完成调度功能: OSSched()和OSIntExit().OSSched()在任务级被调用, OSIntExit()在中断级被调用.这两个函数都在OS_CORE.C中 ...