第4章节-struts2中的OGNL.pptVIP

  • 0
  • 0
  • 约1.52万字
  • 约 40页
  • 2017-04-01 发布于四川
  • 举报
第4章节-struts2中的OGNL

OGNL引用Action的属性 OGNL是一个对象,属性的查询语言。在OGNL中有一个类型为Map的Context(称为上下文),在这个上下文中有一个根元素(root),对根元素的属性的访问可以直接使用属性名字,但是对于其他非根元素属性的访问必须加上特殊符号#。 因为Action实例被放在Value Stack中,而Value Stack又是根元素(root)中的一个,所以对Action中的属性的访问可以不使用标记#,而对其他的访问都必须使用#标记。 s:property value=postalCode/ ActionContext中的其他非根(root)元素的属性可以按照如下的方式访问: s:property value=#session.mySessionPropKey/ or s:property value=#session[mySessionPropKey]/ or s:property value=#request[mySessionPropKey]/ Action类可以使用ActionContext中的静态方法来访问ActionContext。 ActionContext.getContext().getSession().put(mySessionPropKey, mySessionObject); Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. IBM Software Group IBM Software Group IBM Software Group 第四章:Struts 2中的OGNL Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. 学习目标 掌握OGNL表达式的使用 掌握值栈的概念 掌握struts2对OGNL表达式的增强 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. OGNL简介 Struts2的一个关键特性就是它可以对Action携带的数据进行读写访问,例如在前面我们在表单中使用user.username指定数据传递给Action的user对象的username属性,在s:property元素中使用user.username来获取用户的名字,这是通过表达式语言(Expression Language,EL)来实现的,这种表达式语言就是OGNL。 OGNL的全称是Object Graph Navigation Language(对象图导航语言),它是一种强大的表达式语言,让你通过简单一致的表达式语法来读取和设置Java对象的属性值,调用对象的方法,遍历整个对象的结构图,实现字段类型转换等功能。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. 为什么要使用OGNL 视图层的表达式语言通常是用来简化数据的访问操作,取代Java脚本代码,提供更清晰的视图层实现。例如,在JSP页面中使用JSP2.0内置的表达式语言获取user对象的username属性,可以简写为${user.username},如果换作Java脚本代码,则需要写为: %@ page language=java import=java.util.*,com.bim.pojo.User pageEncoding=gbk% % User user = (User)request.getAttribute(user); String username = user.getUsername(); out.print(username); % 哪一种方法更为简捷,相信大家已经一目了然了。 既然JSP2.0已经内置了一种表达式语言,那么为什么还要使用OGNL呢? 相对于其它的表达式语言而言,OGNL的功能更为强大,它提供了很多高级而必须的特性,例如强大的类型转换功能,静态或实例方法的执行,跨集合投影(projection),以及动态lambda表达式定义等。 Evaluation only. Created with Aspose.Slides for

文档评论(0)

1亿VIP精品文档

相关文档