07Struts2标签库ppt课件.ppt_第1页
07Struts2标签库ppt课件.ppt_第2页
07Struts2标签库ppt课件.ppt_第3页
07Struts2标签库ppt课件.ppt_第4页
07Struts2标签库ppt课件.ppt_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Struts2标签库,1,Struts2标签库分类,Struts2标签库中的标签,不依赖于任何表现层技术Struts2标签分类UI表单标签非表单标签AJAX标签非UI控制标签数据标签,2,ValueStack,Struts2要依赖于ValueStack对象Strut2的Action类通过属性可以获得所有相关的值,如:请求参数Action配置参数要获得这些参数值,我们要做的唯一一件事就是在Action类中声明与参数同名的属性在Struts2调用Action类的Action方法(默认是execute方法)之前,就会为相应的Action属性赋值。当Struts2接收到一个.action的请求后先建立Action类的对象实例,但并不会调用Action方法先将Action类的相应属性放到ValueStack对象的顶层节点(ValueStack对象相当于一个栈)所有的属性值都设置为默认的值,如String类型的属性值为null,int类型的属性值为0等,3,程序举例,一个bean一个Action类,ActionContext:可以看作是一个容器,它存放的是Action在执行时需要用到的对象,4,程序举例,一个JSP页面配置struts.xml启动tomcat,在浏览器地址中输入,5,OGNL表达式,上例中的结果,就是ActionContext中保存的两个对象,valueStackAction和newProduct通过OGNL表达式得到的结果访问对象的时候前面加“#”,6,OGNL表达式访问内置对象,Struts2提供了一些内置对象,访问这些对象的时候需要加#parameters:用于访问http请求参数,通过#或者#parametersname访问请求参数request:用于访问HttpServletRequest的属性,通过#或者#requestname访问session:用于访问HttpSession的属性,通过#或者#sessionname访问application:用于访问ServletContext的属性,通过#或者#applipcationname访问attr:用于访问PageContext的属性,通过#或者#attrname访问,7,访问参数举例,增加java代码,需要增加:,8,控制标签,if|elseif|else标签iterator标签append标签generator标签merge标签subset标签sort标签,9,If|elseif|else标签,创建Action类,10,Iterator,iterator表达数组,集合迭代属性value:指定被迭代集合属性id:表达集合中当前元素属性status:指定该集合中的iteraterStatus对象在迭代集合的每个元素的时候,都会有一个描述当前状态的IteratorStatus对象被放到ValueStack栈顶,通过iteratorStatus对象,可以获得集合当前的各种状态信息,11,iterator举例,jsp显示结果:,OGNL表达式定义集合,12,iterator举例,value属性可以扫描Action类的集合属性新建IteratorActionstruts.xml中:,13,修改iterator.jsp察看结果:,14,iteratorStatus,IteratorStatus包括如下几个方法:getCount:已经迭代的集合元素个数getIndex:当前集合元素的索引isEven:当前元素索引是否为偶数isOdd:当前元素索引是否位奇数isFirst:是否为第一个元素isLast:是否为最后一个元素,15,修改jsp页面,16,各属性对应值如下,17,iterator对Map对象,iterator同样可以处理Map类型对象将key-value视为一个元素有几个key-value,就循环几次,18,或者,19,append标签,append标签:用于合并多个集合为一个集合使用append标签需要指定id属性,用于生成新的集合名字使用子标签指定需要合并的集合,20,回到if举例,21,generator标签,generator标签将指定字符串按照指定分隔符转化为多个临时子串或理解为子串集合转化后的子串可以使用iterator标签输出子串集合保存在ValueStack顶端,使用结束后,被移出5个属性separator:指定分隔符val:指定被分割的字符串count:指定生成的子串集合长度converter:指定转换器id:指定生成的集合,并放入pageContext,22,举例:,本例中未包含id属性,23,使用converter,通过count限制集合大小,通过id将集合保存在PageContext中,提供转换器将集合中的字串转换成StringObject,24,配置action,生成jsp,jsp页面,25,merge标签,merge标签功能与append标签类似同样拥有属性标签,26,subset标签,subset标签用于获得集合子集4个属性count:指定子集个数source:指定源集合start:指定子集的第一个元素在源集合位置decider:指定规则对象,规则类必须实现SubsetIteratorFilter.Decider接口(标签后举例),27,举例,28,sort标签,sort标签:对指定的集合元素进行排序需要实现java.util.Comparator接口类两个属性comparator:指定排序规则类的对象实例source:指定被排序的集合标签后举例,29,数据标签,action标签bean标签date标签debug标签include标签set标签push标签,30,action标签,action标签:在jsp页面中访问调用Actionaction标签的属性:name:指定被调用的action名字id:指定要访问的action的对象实例namespace:指定action的命名空间executeResult:指定是否将结果页包含在目前页中true包含和false不包含ignoreContextParams:指定是否将当前页的请求参数传递给actionflush:action标签结束后是否刷新缓存,31,举例,Action类配置Struts.xml,32,succ.jsp页面,原跳转页面通过标签的jsp页面,33,访问testjspaction.jsp的时候,包含了一个名称为string的请求参数,34,bean标签,bean标签创建一个JavaBean对象实例使用标签设置属性bean标签相当于java中的new关键字两个属性name:指定要创建对象实例的JavaBean的实现类id:指定实例化后的JavaBean对象名称对象实例被放入StackContext,35,JavaBean,36,在bean标签内输出属性在bean标签外使用bean对象实例,需要指定id,37,回溯,subset标签decider属性指定截取类,38,在jsp页面中,通过bean标签,指定KeyDecider的对象实例,39,回溯,指定排序规则类,40,jsp页面:,操作sort新集合的标签,必须在sort标签内,41,date标签,date标签:用于格式化输出java.util.Date类型值、计算时间差四个属性name:指定日期值format:指定用来格式化日期的格式化字符串nice:true则输出指定日期与当前时差,false则输出格式化后的日期id:引用被格式化后的日期的id,42,jsp页面,43,结果页面,44,debug标签,debug标签生成debug链接,展现各种服务器端对象信息,45,include标签,include标签用于在当前页面包含另外的Web资源两个属性:value:指定包含的Web资源的URLid:指定id引用css.jspinclude.jsp,46,set标签,set标签用于将数据保留在某个指定范围四个属性name:指定新的变量名字value:指定赋值scope:指定保存变量范围id:指定引用标签的id,47,48,push标签,push标签:将指定值放入到ValueStack栈的顶端两个属性value:指定需要放入ValueStack顶端的值id:指定id,49,url标签,url标签:用于生成一个url地址(略),50,表单标签,所有的表单处理类,都继承了org.apache.Sponets.UIBean类,51,form、submit、reset,(略),52,checkboxlist标签,checkboxlist标签:用于生成多个复选框三个属性:list:指定要生成的复选框的数据,该属性值,可以是list,array,map等listKey:如果list属性值是对象数组,该属性表示对象中作为key的属性。如:product.id,stu.idlistValue:如果list属性值是对象数组,该属性表示对象中作为value的属性如果list属性是Map对象,提交的请求参数值为对应元素的key如果list属性的值为对象数组,则提交请求的是listKey属性,53,checkboxlist,建立如下jsp页面,54,代码如下,其中,兴趣爱好为数组或list对象,j2eeservers为Map对象,cities为对象数组,55,建立city及cities数组类,56,InvestigateAction类,57,配置action,58,生成结果页investigate.jsp,59,Web结果及console结果,60,combobox,combobox用于生成一个当行文本框和下拉列表的组合。真正提交的请求参数是文本框中的值通过list属性来指定下拉列表中的数据源数据源可以是数组、List、Map、对象数组当list属性中为一个数组或者List对象的时候,下拉框中的值会被赋给单行文本框当list属性中为一个Map对象或者对象数组,则当行文本框中被赋key值,61,combobox.jsp,62,combobox.jsp,63,select标签,用于生成一个列表框list属性指定集合listKey属性指定列表框选项中的keylistValue属性指定列表框中显示的内容multiple属性指定列表框是否允许多选,64,select.jsp,65,select效果,66,optgroup标签,本标签只能作为select的子标签使用,用于生成下拉列表框选项组optgroup也需要指定l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论