Struts2标签简介

  Struts2标签的优势

    标签库简化了用户对标签的使用

    结合OGNL使用,对于集合、对象的访问功能非常强大

    提供可扩展的主题、模板支持,极大简化了视图页面的编写

    不依赖任何表现层技术

Struts2标签的分类

  通用标签(Generic Tags)

  数据标签( Data Tags )

  控制标签( Control Tags )

  UI标签( UI Tags )

  Ajax标签( Ajax Tags )

数据标签

  <s:property>:输出指定值

  value:用来获取值的OGNL表达式

  default:value属性返回空值时,如果仍希望输出某些内容,可使用default来指定这些内容

  escapeHtml:是否转义HTML ,默认取值true

   <s:debug>:查看值栈以及Stack Context中所能访问的值

   <s:date> :格式化输出一个日期数据

  name :被格式化的值,必须设置

  format :指定日期格式,如:yyyy-MM-dd HH:mm:ss

  <s:set> :对设置的表达式求值,并将结果赋给特定作用域中的某个变量

  var:变量名

  value:变量的值,可以是常量,也可以是OGNL表达式

  scope:变量的生存周期

  应用:比如一个对象在OGNL上的访问层次较深,可以使用该标签将其定义为一个变量,这样保  证在多次引用它时更方便

   <s:url> :用来生成一个url

  var:该url的引用名称。如果指定这个属性,则url标签不会在页面上生成字符串

  action:要访问的Action的名字

  value:要访问的目标,如果action不提供,就使用value作为URL的地址值

  <s:a> :用来生成HTML的<a>标签,可以通过<s: url>来设置它的url

<s:a> :用来生成HTML的<a>标签,可以通过<s: url>来设置它的url

  href:超链接的url

  <s:a>与<s:url>

  <s:a>用来直接生成一个超链接

  <s:url>用来生成一个字符串

  <s: param> :用来为其它标签添加参数化设置的功能

  name:参数的名称

  value:参数的值

    一般不单独使用,而是作为其他标签的子标签,主要用来配合其他标签指定参数

  <s:include> :把其他页面包含到当前的页面上,类似于<jsp:include>上,类似于<jsp:include>

  value:用来指定其他可以被引用的URL的名字,必须要设置

小结

  OGNL变为字符串

    单引号如: <s:property value="'<hr/>'" escapeHtml="false"/>

     字符串变为OGNL

    %{},如:<s:a href="%{#houseUrl}">超链接</s:a>

    OGNL中%、#以及$的使用场景

    %{}:设置动态的值,告诉标签的处理类,该字符串按照OGNL表达式来处理

    比如:<s:property value=“house.title”/>

    不加%{},标签处理类已经将其作为OGNL表达式动态处理了

    方法一:不确定时,可以每个属性都加%{}

    方法二:根据实际的运行效果来调整标签属性写法

    #:取Stack Context中的值

    如:<s:property value="#request.name"/>

控制标签

  <s: if> 、 <s: elseif> 、 <s: else> 表达分支判断

  test:表示是否符合条件,本身是一个OGNL表达式,运算结果为一个boolean值

  <s:iterator>  用来处理循环,遍历集合对象

  value :用来指明到底循环的是谁,这个属性的值是个OGNL表达式

  var :变量名称,用来引用被循环的对象

  status :返回当前循环的各种信息

  count :集合含有多少个对象

  index :正在循环的这一项的索引

  even :当前遍历到的对象是不是处于列表的偶数索引位置

  odd :当前遍历到的对象是不是处于列表的奇数索引位置

UI标签简介

  Struts2 UI标签

    用来生成Web界面,或者为Web界面提供某些功能支持

    实现是基于模板和主题的

    模板(Template)

    就是一些代码,在Struts2中通常是用FreeMarker编写的文件(.ftl)

    用于生成HTML

    在Struts2核心jar包的template包中

  主题(Theme)

    将一些具有共同观感的模板组织到一起就形成了主题

    Struts2使用目录名作为主题名

    可以通过切换主题来切换标签生成的HTML的风格

    Struts2内建主题

    simple、xhtml、css_xhtml、ajax

    自己可以修改主题

    修改struts.xml配置 <constant name="struts.ui.theme" value="simple" />

    设置相应标签的theme属性

UI标签演示小结

  Struts2的表单标签会在HTML标签中找到对应的标签,所以各标签属性可以对比之前HTML标签的属性,作用一样

  Struts2的表单标签会在HTML标签中找到对应的标签,所

  以各标签属性可以对比之前HTML标签的属性,作用一样

  <s:form>表单

  属性:name、action、method

  <s:textfield>单行文本框

   属性:name、value、maxlength、readonly

  <s:textarea>多行文本框

  属性:name、value、cols、rows、readonly

  <s:submit>提交按钮

UI标签之下拉框

  <s:select>下拉框

  name:下拉框的名字

  list:生成下拉框的集合

    listKey :生成的选项的value值的集合对象的属性

   listValue :生成的选项显示的文字的集合对象的属性

  <s:doubleselect>两个联动的下拉框

  name/doubleName:第一个/第二个下拉框的名字

  list/doubleList:生成第一个/第二个下拉框的集合

  listKey/doubleListKey :生成第一个/第二个下拉框的选项的value值的集合对象属性

   listValue/doubleListValue :生成第一个/第二个下拉框的选项显示的文字的集合对象属性

Ajax标签

  datetimepicker标签:日期、时间

  name:名称

  label :用来显示组件前的文本

  使用步骤

    在项目中引入struts2-dojo-plugin-2.3.4.1.jar

    <%@taglib uri="/struts-dojo-tags" prefix="sx"%>

    <sx:head parseContent="true" />

    <sx:datetimepicker name="timer" label="发表时间"/>

    UI标签、Ajax标签实际使用并不多,通过帮助文档了解即可

演示小结

  doubleselect不换行显示

  方法一:添加CSS样式

    .add br{display:none;}

  方法二:修改/template/simple/doubleselect.ftl,去掉其中的<br/>

   实现数据回显

    表单标签name与Action属性一致

    添加房屋后跳转到Action,应该以转发形式,而不是重定向

Struts2标签简介的更多相关文章

  1. (五)Struts2 标签

    所有的学习我们必须先搭建好Struts2的环境(1.导入对应的jar包,2.web.xml,3.struts.xml) 第一节:Struts2 标签简介 Struts2 自己封装了一套标签,比JSTL ...

  2. Struts2核心技术简介

    Struts2核心技术简介 使用Struts2框架,只要注重以下三大元素:配置文件.映射文件和Action: 全局属性文件struts.properties:保存系统运行的一些参数变量,整个系统只有一 ...

  3. JAVAEE——struts2_04:自定义拦截器、struts2标签、登陆功能和校验登陆拦截器的实现

    一.自定义拦截器 1.架构 2.拦截器创建 //拦截器:第一种创建方式 //拦截器生命周期:随项目的启动而创建,随项目关闭而销毁 public class MyInterceptor implemen ...

  4. struts2框架学习笔记7:struts2标签

    三大标签: 1.JSP:脚本,为了替代servlet,已过时 2.JSTL:标准标签库(core.format.sql.xml),还未淘汰的只有core库 3.Struts2标签库:由Struts2开 ...

  5. struts2之OGNL和struts2标签库和ValueStack对象

    OGNL简介: (1)OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目.  struts2框架默认就支持Ognl表达式语言(所以 ...

  6. ognl,jstl,struts2标签中符号#,$,%的用法

    STRUTS2标签操作Map <s:iterator value="sundayMap">           <td colspan="7" ...

  7. 用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。

    最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变 ...

  8. (转载)SPRINGMVC表单标签简介

    SpringMVC表单标签简介 在使用SpringMVC的时候我们可以使用Spring封装的一系列表单标签,这些标签都可以访问到ModelMap中的内容.下面将对这些标签一一介绍. 在正式介绍Spri ...

  9. struts2 标签 和 c标签的页面数据显示

    用struts2 标签显示的页面代码 <s:if test="#request.employees == null || #request.employees.size() == 0& ...

随机推荐

  1. 设计模式-观察者模式(Observer Model)

    文 / vincentzh 原文连接:http://www.cnblogs.com/vincentzh/p/6031844.html LZ刚刚开始心热的开启了博客之路,想着记点流水账,可帝都的天都冷成 ...

  2. MyBatis学习教程

    http://www.yihaomen.com/article/java/302.htm http://www.yihaomen.com/article/java/303.htm http://www ...

  3. hibernate persist update 方法没有正常工作(不保存数据,不更新数据)

    工程结构 问题描述 在工程中通过spring aop的方式配置事务,使用hibernate做持久化.在代码实现中使用hibernate persit()方法插入数据到数据库,使用hibernate u ...

  4. Uedit的快捷键

    Key1 自动换行_CTRL + W     这个已经不是什么新奇的功能了,就连你们最不喜欢的notepad都有了这个功能.说来也奇怪,编辑器为什么都带有这个功能呢?谁愿意自己的编辑器带有水平滚动条啊 ...

  5. perl 异步请求和JS对比

    perl 异步和js对比: /js************** $(function(){ function isPhone(str){ var regex = /[0-9]{11,11}/; ret ...

  6. 设计模式-GoF23

    书呢,是2012年双11买的. 没有面向对象程序经验的人,果然还是看不懂的.

  7. ubuntu jdk环境变量配置

    export JAVA_HOME=/usr/local/java/jdk1.8.0_25  export JRE_HOME=${JAVA_HOME}/jre  export CLASSPATH=.:$ ...

  8. .Net cache与cache更新

    主要用到 System.Runtime.Caching 框架自动给了一个默认值 MemoryCache.Default; 查看微软关于MemoryCache的介绍,可以看到它有Add.Get.Set  ...

  9. C++ Primer 有感(多重继承与虚继承)

    1.多重继承的构造次序:基类构造函数按照基类构造函数在类派生列表中的出现次序调用,构造函数调用次序既不受构造函数初始化列表中出现的基类的影响,也不受基类在构造函数初始化列表中的出现次序的影响.2.在单 ...

  10. [Unity插件]AI行为树使用总结

    参考链接: https://blog.csdn.net/linxinfa/article/details/72937709 https://blog.csdn.net/wanghaodiablo/ar ...