struts2标签表格.docx

上传人:b****6 文档编号:8742975 上传时间:2023-02-01 格式:DOCX 页数:11 大小:20.27KB
下载 相关 举报
struts2标签表格.docx_第1页
第1页 / 共11页
struts2标签表格.docx_第2页
第2页 / 共11页
struts2标签表格.docx_第3页
第3页 / 共11页
struts2标签表格.docx_第4页
第4页 / 共11页
struts2标签表格.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

struts2标签表格.docx

《struts2标签表格.docx》由会员分享,可在线阅读,更多相关《struts2标签表格.docx(11页珍藏版)》请在冰豆网上搜索。

struts2标签表格.docx

struts2标签表格

竭诚为您提供优质文档/双击可除

struts2,标签,表格

  篇一:

struts2常用标签总结

  struts2常用标签总结

  一介绍

  1.struts2的作用

  struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性。

实现了更好的代码复用。

struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求。

  struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供了大部分标签,可以在各种表现技术中使用。

包括最常用的jsp页面,也可以说Velocity和Freemarker等模板技术中的使用

  2.struts2分类

  

(1)ui标签:

(userinterface,用户界面)标签,主要用于生成html元素标签,ui标签又可分为表单标签非表单标签

  

(2)非ui标签,主要用于数据访问,逻辑控制等的标签。

非ui标签可分为流程控制标签(包括用于实现分支、循环等流程控制的标签)和数据访问标签(主要包括用户输出Valuestack中的值,完成国际化等功能的)

  (3)ajax标签

  3.struts2标签使用前的准备:

  

(1)在要使用标签的jsp页面引入标签库:

  

  

(2)在web.xml中声明要使用的标签这样是struts22.3.1.2版本的引入方式

  

  struts2

  org.apache.struts2.dispatcher.ng.filter.strutsprepareandexecuteFilter

  4.标签的使用

  

(1)property标签

  用于输出指定的值:

  

  

  

    以-->

  

  以上可以访问某一个包的类的属性的集中方式,study()是访问方法的方法,并输出。

  以下用java代码代替的,访问某一个范围内的属性

    //采用pagecontext对象往page范围内存入值来验证#attr搜索顺序是从page开始的,搜索的顺序为:

page,reques,session,application。

  set存值的时候存到的是request中,在jsp页面中访问的时候不用加任何的标识符,即可直接访问,如果不同的作用域不一样了,

  pagecontext.setattribute("name","laoowang",pagecontext.page_scope);

  %>

  

  假设在action中设置了不同作用域的类

  不同的作用域的标签的访问:

  获取的是requet中的对象值

  第一种方式:

  

  

  第二种方式:

  

  

  第三种方式:

  

  

  第四种方式:

  

  

  第五种方式:

${requestscope.user1.realname}||${requestscope.user1[realname]}

  第六种:

  attr对象按page==>requestsessionapplictio找的

  获取session中的值

  第一种方式:

  

  

  第二种方式:

  第五种方式:

${sessionscope.user1.realname}||${sessionscope.user1[realname]}

  获取application中的对象的值

  第一种方式:

  

  

  第二种方式:

  第五种方式:

${applicationscope.user1.realname}||${applicationscope.user1[realname]}

  

(2)iterator标签的使用

  第一种:

list集合

  

  

    -->

  

  

  

  

  

  

  

  

  

  

  第二种:

map集合中的使用

  map集合

    语法格式:

#{key:

value,key1:

value1,key2:

value2,.....}

  以上的语法中就直接生成了一个map类型的集合,该map对象中的每个key-value对象之间用英文的冒号隔开

  ,多个元素之间用逗号分隔。

  -->

  

  

  遍历map:

  

  

  

  :

:

:

  

  

  \

  第三种:

集合的变量

  遍历集合:

:

:

  

  

  

  3000}">

  

  

  

  3000)}">

  

  

  注:

users是user的对象,price是user中的一个属性

  简述一下iterator的介绍:

  iterator标签用于对集合进行迭代,这里的集合包含list、set和数组。

  

  

  redblue>

  

  

  

  value:

可选属性,指定被迭代的集合,如果没有设置该属性,则使用Valuestack栈顶的集合。

  id:

可选属性,指定集合里元素的id。

  status:

可选属性,该属性指定迭代时的iteratorstatus实例。

该实例包含如下几个方法:

intgetcount(),返回当前迭代了几个元素。

  intgetindex(),返回当前迭代元素的索引。

  booleaniseven(),返回当前被迭代元素的索引是否是偶数

  booleanisodd(),返回当前被迭代元素的索引是否是奇数

  booleanisFirst(),返回当前被迭代元素是否是第一个元素。

  booleanislast(),返回当前被迭代元素是否是最后一个元素。

  (3)ifelse语句的使用

  

  

  23

  

  

  21

  

  

  都不等

  

  (4)uRl标签

  

  

  laowangang

  12

  

  测试uRl

  

  以上的两个标签的作用是一样的。

  (5)data标签

    pagecontext.setattribute("birth",new

  date(200,03,10),pagecontext.Request_scope);

  %>

  

  

  这个标签是按照format的格式去输出的。

  (6)表单

  from表单

  

  

  

  

  

  

    

  listValue

  -->

  

  

  篇二:

struts2标签用法

  struts2标签库讲解

  要使用struts2的标签,只需要在jsp页面添加如下一行定义即可:

  

  struts2的标签共分为五大类:

  一、逻辑控制标签

  用于进行逻辑控制输出。

主要分以下几类:

  1)条件标签:

用于执行基本的条件流转

  :

拥有一个test属性,其表达式的值用来决定标签里内容是否显示。

  欢迎hzd

  123

  abc

  2)迭代标签:

用于遍历集合(java.util.collection)或者枚举值(java.util.iterator)类型的对象,value属性表示集合或枚举对象,status属性表示当前循环的对象,在循环体内部可以引用该对象的属性

  

  姓名:

  年龄:

  

  3)组合标签:

用于将多个枚举值对象进行叠加,形成一个新的枚举值列表如将3个列表对象进行了组合,形成新的列表对象:

  

  

  

  

  

  输出:

  

  

  

  4)分割标签:

用于将一个字符串进行分隔,产生一个枚举值列表

  下面的代码将分隔为3个字符串,然后循环输出

  

  

  

  

  

  5)合并标签:

用于将多个枚举值按照数组的索引位置进行合并

  

  --设mylist1列表中有a,b,c三个元素

  --设mylist2列表中有1,2,3三个元素

  

  合并后新的列表的元素及其顺序为:

a,1,b,2,c,3

  

  

  

  6)排序标签:

用于对一组枚举值进行排序,属性parator的比较器,该比较器可以是对应action页面中的一个比较器变量,source指定要排序的列表对象

  

  

  

  

  

  7)子集标签:

用于取得一个枚举列表的子集,象,start用于指定起始检索的索引位置,count用于指定检索的结果数量,性必须是一个org.apache.struts2.util.subsetiteratorFilter.decider类的子类实例,用以指定检索的条件。

例如在action中提供了以下方法用来取得一个decider对象:

publicdecidergetdecider()

  {

  returnnewdecider(){

  publicbooleandecide(objectelement)throwsexception{

  inti=((integer)element).intValue();

  return(((i%2)==0)true:

false);

  }

  };

  }

  然后引用该对象筛选子集:

  

  

  或者不使用decider对象:

  

  

  二、数据输出标签

  数据输出标签用以输出页面中的元素、属性、隐含变量等,即包括静态文本的输出,也包括struts2集成的各种变量的输出。

  1)链接标签:

用于创建一个标签表示该链接执行时的javascript提示函数,href表示跳转地址.

  

  

  2)action标签:

可以直接调用action类中的函数,性用于指向数,executeResult属性表示是否执行结果集的跳转

  --表示执行loginaction的默认处理方法execute()

  --表示执行loginaction的处理方法login()

  3)javabean标签:

用于创建一个javabean对象,javabean类全名,var表示变量的实例名,并可以包含设置实例化输入参数

  --为该javabean的构造方法传递参数

  

  4)日期标签:

用以输出一个格式化的日期对象表示输出的日期格式

  

  

  --默认格式

  5)调用标签:

用以输出页面的值栈调试信息,通常在进行程序调用时使用,便于查找jsp页面中的错误

  6)引用资源文件标签:

用于加载资源包到值栈,它可以允许何资源包的信息,而不只是当前action相关联的资源包。

name属性用以指定资源包的类路径

  如xxx.xxx.xxx.applicationmessages中定义了标签:

helloword=欢迎您!

  则可以这样引用:

  

  

  

  7)包含页面标签:

用来包含一个servlet的输出(servlet或jsp页面),使用属性指定包含页名称,可以使用

  

  hzd--参数username=hzd给test.jsp页面

  8)传递参数标签:

用来为其他标签提供参数,所以一般是嵌套在其它标签的内部,name属性用来指定参数名称,value(struts2,标签,表格)(可选)属性用来指定参数值

  --这种方式的参数值会以string格式放入stackhzd--这种方式的参数值会以object的格式放入stack

  9)值栈标签:

用以加入一个值到值栈中

  

  --为user指定name属性

  --为user指定age属性

  

  10)变量赋值标签:

赋予变量一个特定范围内的值,量的名字示变量的作用域(application.session.request.page.action),value变量的值

  

  

  11)国际化标签:

用于输出国际化信息属性指定国际化资源文件中消息文本的key,可以与标签结合使用

  --它会按照一定的顺序查找资源文件,直到找到定义hellowword标签的资源文件为止

  12)链接标签:

用于创建一个uRl链接,并可以通过标签提供request参数

  

  hzd

  

  13)属性标签:

用以输出属性的值,并拥有一个,在value对象不存在时显示。

escape属性为true,来输出原始的html文本

  

  三、html表单标签

  html标签都拥有以下3个设置样式的属性。

  templatedir:

执行模板路径

  theme:

指定主题名称,可选值包括simple、xhtml、ajax等

  template:

指定模板名称

  使用html表单标签会生成大量格式化的html代码,这些代码是由struts2的模板生成的,这样的好处是可以让我们的jsp代码十分简单,只需要配置使用不同的主题模板,就可以显示不同的页面样式。

  struts2默认提供了5种主题(在此不做详细介绍):

  simple主题:

最简单的主题

  xhtml主题:

默认主题,使用常用的html技巧

  cssxhtml主题:

使用css实现的xhtml主题

  archive主题:

使用文档生成主题

  篇三:

struts2数据标签

  struts2数据标签

  8.2数据标签

  数据标签更关注如何从值栈上取值或者向值栈赋值。

  8.2.1property标签

  1:

功能:

  用来输出ognl表达式的值。

  2:

属性

  property标签的主要属性:

  

  

  

  value:

用来获取值的ognl表达式,如果value属性值没有指定,那么将会被设定为top,也就是返回位于值栈最顶端的对象。

default:

如果按照value属性指定的ognl求值后返回的是空值,但是你仍然希望输出某些内容,那么就可以使用default属性来指定这些内容escape:

是否转义html,默认为trueescapejavascript:

是否转义javascript,默认为false

  3:

属性value和default的使用

  直接看示例:

  

  

  

  第一个是有value值的,应该输出value所设置的ognl表达式运算后的值;第二个虽然设置了value,但是value所设置的ognl表达式是找不到值的,那么应该输出default的值;第三个就没有设置value属性,那么应该输出位于值栈最顶端的对象。

示例代码如下:

  java代码:

  查看复制到剪贴板打印1.

  2.  3.request.setattribute("request","请求的属性值");

  4.%>

  5.输出value值:

  6.

  

  7.输出缺省值:

  8.

  

  9.输出栈顶的对象:

  运行结果如下图所示:

  图8.1示例property标签

  4:

属性escape的使用

  接下来说明一下escape属性,它指明了是否把要显示的值按照html的转义规则进行转义。

看如下的示例,一个是转义的,一个是不转义的,示例代码如下:

  java代码:

  查看复制到剪贴板打印1.

  2."/>

  3."escape="false"/>

  首先要注意"/>中的value里面的值为,这对单引号的意思是,单引号里面的东西不按照ognl表达式来解析,可以直接看成一个字符串。

  那么,现在的两句,要打印的内容一样,只是上面的一句按照html转义,而下面的一句不按照html转义。

因此,上面的可以正确打印出字符串,而下面的就是打出横线来。

如图:

  图8.2的escape属性指定了是否按照html进行转义

  为何会是这样呢?

查看一下页面对应的源代码,你就什么都明白了,页面对应的源代码如下:

  java代码:

  查看复制到剪贴板打印1.

  2.

  3.

  

  4.inserttitlehere

  5.

  6.

  7.

  8.

  9.

  10.

  11.

  12.

  你会发现,转义的那个输出变成了“”,不转义的那个是直接输出成“”,其实转义,就是把html中的一些特殊字符用已经定义好的实体进行替换的过程,常见的html转移字符如下列表:

  html中还有很多需要转移的字符,这里就不去赘述了,可查阅相关的资料。

  8.2.2set标签

  1:

功能:

  对设置的表达式进行求值,并将结果赋给特定作用域中的某个变量。

简单点说,set标签类似于定义一个变量,并赋值。

  set标签有很多应用的地方,比如一个对象在ognl上的访问层次较深,就可以使用set标签给它定义成一个变量,这样就可以保证在多次引用它的时候更方便。

  2:

属性

  set标签的主要属性:

  

  

  

  id:

已过时,请用var代替。

name:

已过时,请用var代替。

var:

变量名,可以在ognl表达式中使用这个名称来引用存放到值栈的这个对象。

scope:

变量的生存周期,可以选择application、session、request、page或action,默认为action。

  value:

设置给变量的值,可以是常量,也可以是ognl表达式

  3:

属性var和value的使用

  假如现在session中有一个叫user的属性,要访问它的name属性和age属性,不用set标签的话,写法如下:

  java代码:

  查看复制到剪贴板打印1.

  2.;s:

propertyvalue="#session.user.age"/>

  如果使用了set标签,可以给session中的user属性定义一个变量,名称为tempuser,这样在以后直接访问这个tempuser就可以了,示例如下:

  java代码:

  查看复制到剪贴板打印1.

  2.

  3.

  请注意,使用tempuser这个变量名的时候,需要在前面加上#号。

  再来一个示例,比如要在页面定义一个int型的变量,然后用标签来实现类似于i++的功能,该怎么实现呢?

示例代码如下:

  java代码:

  查看复制到剪贴板打印1.

  2.

  3.输出i值:

  4.

  

  5.

  6.输出i++后的值:

  运行测试一下,效果如图所示:

  图8.3示例set标签

  4:

属性scope的使用

  set标签的scope属性有如下选择:

  

  

  

  

  

  application:

表示这个变量的生存周期是servlet中的application范围,也就是servletcontext范围session:

表示这个变量的生存周期是会话范围request:

表示这个变量的生存周期是请求范围page:

表示这个变量的生存周期是当前页面范围action:

表示这个变量的生存周期是当前的actioncontext范围简单的示范一下,在第一个页面中定义变量,当然要设置scope,示例如下:

  java代码:

  查看复制到剪贴板打印1.

  2.

  3.

  4.

  5.

  6.运行后跳转到的结果页面,示例如下:

  java代码:

  查看复制到剪贴板打印

  1.

  2.输出aplication值:

  3.

  

  4.输出session值:

  5.

  

  6.输出request值:

  7.

  

  8.输出page值:

  

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1