《struts教学课件》T03 值栈与类型转换器.pptVIP

《struts教学课件》T03 值栈与类型转换器.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
值栈与类型转换器 目 标 1、值栈 2、OGNL表达式基本语法 3、自定义类型转换器设计和配置 Struts2值栈 拦截器是如何与Action组件之间进行交互的呢? 值栈 Struts2值栈 值栈ValueStack是Struts2框架核心组件 提供对上下文信息和执行环境中元素的访问机制 内部实现一个栈,由4个层级组成 临时对象 模型对象 Action实例 命名对象 什么是值栈 Struts2核心组件之间交互 Struts2值栈 拦 截 器 Action 值栈 结果类型 结果 标签库 宽箭头描述了请求处理过程中直接与用户请求交互的组件。 黑实线箭头描述的是组件与值栈之间的交互。 Strus2 OGNL 拦截器是如何定位值栈中的某个层级中的对象的呢? OGNL 值栈是通过使用OGNL语法编写的特定表达式 来查找,或者是在该表达式之上求值 如何访问值栈 OGNL表达式一般用法规则 Strus2 OGNL 使用圆点符号 调用对象的方法 表达式求值 结合Struts2标签使用 Strus2 OGNL 使用圆点和调用对象的方法 例子: (1) 调用getPerson().getName() (2)#session.user 从会话对象中获取user属性对象 (3)#session.shopcart.size() 获取会话中购物车的数量 (4)top 获取值栈最顶层对象 Strus2 OGNL 结合Struts2标签使用OGNL s:set 保存数据到值栈 s:set name=“username” value=“’qq’”/ s:property 获取值栈中数据 s:property value=“#username” / 数据以username命名存入值栈中 从命名对象username中获取数据 Strus2 OGNL 常见的OGNL运算符 关系运算 == 或eq != 或 neq 或gt = 或gte 或lt = 或lte 算术运算 + - * / % 三元运算 e? v1 :v2 逻辑运算 或 and || 或 or ! 或 not Strus2 OGNL 常见的OGNL表达式 列表 定义格式:{value1,value2,…} 使用下标访问, 从0开始 比如: s:set name=va value={1,2,3,5,qq} / s:property value=#va[4] / 常见的OGNL表达式 Map 定义格式: #{key1:value1,key2:value2,…} 使用key访问 举例: s:set name=vb value=#{name:www,age:20} / name:s:property value=#vb[name] /, age:s:property value=#vb[age] / Strus2值栈 实例演示:使用JavaBean对象封装请求参数 修改Action组件,增加对象属性 1 Strus2值栈 修改输入页面中相应的参数名 2 与Action中封装参数的对象属性名userinfo一致 Struts2内置的类型转换 String和int、Integer String和double、Double String和Map、List String和Date String和boolean String和char Struts2类型转换 Struts2自定义类型转换 Struts2默认提供了日期类型的转换,但没有显示年份信息时没有世纪位。 如何解决呢? 自定义类型转换器 Struts2自定义类型转换 自定义类型转换器实现的两个步骤 自定义类型转换的设计 1 自定义类型转换的配置 2 Struts2自定义类型转换 自定义类型转换的设计 1 继承StrutsTypeConverter抽象类 重写其两个方法,分别完成类型间的相互转换 Struts2自定义类型转换 实现该方法完成字符串到Date类型转换 Struts2自定义类型转换 实现该方法完成Date类型到字符串的转换 Struts2自定义类型转换 自定义类型转换的配置 2 组件级别 2.1 全局级别 2.2 Struts2自定义类型转换 组件级别 2.1 编写一个UserIperties文件,内容为: birthday=demo.converter.MyDateTypeConverter 该配置文件要和JavaBean组件在同一个包下 JavaBean中属性名 自定义类型转换器类全名 Struts2自定义类型转换 组件级别的配置只能服务于该组件。 其他组件若需要是不是都要编写一个对应的配置文件呢? 如果是这样,不是很繁琐吗?

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档