Struct2教程4PPT课件.ppt

上传人:rrsccc 文档编号:9498521 上传时间:2021-03-01 格式:PPT 页数:30 大小:356.50KB
返回 下载 相关 举报
Struct2教程4PPT课件.ppt_第1页
第1页 / 共30页
Struct2教程4PPT课件.ppt_第2页
第2页 / 共30页
Struct2教程4PPT课件.ppt_第3页
第3页 / 共30页
Struct2教程4PPT课件.ppt_第4页
第4页 / 共30页
Struct2教程4PPT课件.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《Struct2教程4PPT课件.ppt》由会员分享,可在线阅读,更多相关《Struct2教程4PPT课件.ppt(30页珍藏版)》请在三一文库上搜索。

1、1,Struts第四章,OGNL与标签库(1),2,目标,4.1 OGNL 4.2 Struts2标签分类 4.3 控制标签 (if, elseif, else, iterator, append, merge, generator, subset, sort) 4.4 数据标签 (bean, param, date, debug, include, set, url, push),3,OGNL,OGNL Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存

2、取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。 Struts2默认的表达式语言是OGNL,4,OGNL的符号-#,# 访问OGNL上下文和Action上下文,#相当于ActionContext.getContext() . 示例见第5页 构造Map 示例见第6页 用于过滤和投影(projecting)集合 ?所有匹配选择逻辑的元素 只提取符合选择逻辑的第一个元素 $只提取符合选择逻辑的最后一个元素 示例见第7页, - ,List list = new ArrayList();list.add(new Student(1, 张三, new Date();list

3、.add(new Student(2, 李四, new Date();list.add(new Student(3, 王八, new Date();pageContext.setAttribute(list, list);, 返回张三,王八 返回张三 返回王八, ,OGNL的主要功能,支持对象方法调用 调用保存在pageContext中的Student对象的doSomeThing() N语法 从ValueStack的第N个位置开始取值 top关键字 取出最顶端的对象 示例: 从ValueStack中的第0个位置开始取出最顶部的对象,返回为”阿拉伯联合酋长国”,Struts标签分类,导入tagl

4、ib,控制标签,if elseif else iterator append merge generator subset sort,条件标签 ifelseifelse,主要属性: test : 测试条件 示例 恭喜,您中了一等奖! 恭喜,您中了二等奖! 欢迎惠顾! ,迭代标签 iterator,用于循环数组,集合和Map 属性 value:数组,集合或Map var:当前元素 status:当前元素的状态 index,count,even,odd,first,last 示例,遍历List 遍历Map ,集合合并标签 append和merge,将多个集合合并成一个集合 属性 var 新集合的名

5、称 示例 merge用法和append相同,结果的组织不一样.,字符串分割标签 generator,将一个字符串按照指定分隔符分割成一个字符串数组 属性 separator: 分隔符 val(value): 字符串 count:字符串數組中元素個數 示例 ,集合子集标签 subset,从集合中取出一个子集,注意:子集被放在值栈的顶部,subset标签执行完后子集自动移除 属性 source: 集合 start: 起始索引 count: 子集中元素个数 示例 ,排序标签 sort,根据定义的排序规则,对集合中的元素进行排序,排序后生成的新的集合放在值栈顶部,标签结束后自动删除. 属性: comp

6、arator: 实现Comparator的类 source: 集合 示例: ,数据标签,set push bean date debug include url param property,设置变量标签 set,用于设置一个新变量,并将新变量放入指定的作用域中 属性 Var: 新变量的引用 Value:值 示例 注:如果不指定,默认放在Stack Context中,栈顶置值标签 push,将某个值置于值栈的顶部,标签结束后,将从值栈中移除. 属性 value: 即值 示例 ,javabean创建标签 bean,用于创建javabean的实例,如果设置了var值,则存于Stack Contex

7、t,否则,标签结束后自动移除. 属性 name: javabean类名(带包) var:名称 示例 1 张三好 2009-9-9 ,日期格式化标签 date,格式化日期并输出 属性 name:日期 format:格式化字符串 示例 ,调试标签 debug,用于当前环境下Value Stack和stack context中保存的数据,资源包含标签 include,用于将一个html,jsp或servlet包含到当前页面中,使用param传递参数 属性 value:包含页面名称 示例 ,URL生成标签 url,生成URL地址,可以通过param标签传递请求参数,如果参数为中文,自动编码 属性 value:url值 action:action名称,自动加上.action 示例 中华人民共和国 链接 ,数据标出标签 property,用于输出值栈,Stack Context中的数据 属性 value:要输出的值 如果输出值栈中的值,不用# 如果输出Stack Context中的值,要用# 如果省略value,表示取出值栈的栈顶对象输出,总结,OGNL是标签的基础,要理解OGNL的基本使用,在struts2中,OGNL必须和标签紧密配合 控制标签包含一组条件判断标签和一组集合遍历和操作标签 数据标签包含一组数据访问相关的标签,个人观点供参考,欢迎讨论,

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1