基本概念: OGNL(Object Graph Navigation Language),是一种表达式语言。使用这种表达式语言,你可以通过某种表达式语法,存取Java对象树中的任意属性、调用Java对象树的方法、同时能够自动实现必要的类型转化。如果我们把表达式看做是一个带有语义的字符串,那么OGNL ...
分类:
其他好文 时间:
2016-06-26 10:19:18
阅读次数:
159
Struts2对Ognl的支持 一. 写作背景 由于工作性质的变化,最近一直在研究struts2,从源码到各个技术点的分析,突然之间发现以前对struts2的ognl这一块的知识覆盖的还不是很全面。再加上笔者身处在深圳这个城市,这些天来一直高温不断,人显得特别的烦躁不安,唯有技术(当然个人爱好还是很 ...
分类:
其他好文 时间:
2016-06-19 18:28:18
阅读次数:
160
OGNL 一.概述 以下内容摘自Ognl的官网: OGNL stands for Object-Graph Navigation Language; it is an expression language for getting and setting properties of Java obj ...
分类:
编程语言 时间:
2016-06-19 17:04:29
阅读次数:
212
十五、contextMap 1、动作类的生命周期 明确:动作类是多例的,每次动作访问,动作类都会实例化。所以是线程安全的。与Struts1的区别是,struts1的动作类是单例的。 2、请求动作的数据存放 问题: 每次请求时,都会产生一些请求数据,这些数据存放到哪里去了? 明确: 在每次动作执行前, ...
分类:
编程语言 时间:
2016-06-16 01:36:17
阅读次数:
445
十二、Struts2中的拦截器 1、拦截器的重要性 Struts2中的很多功能都是由拦截器完成的。比如:servletConfig,staticParam,params,modelDriven等等。 是AOP编程思想的一种应用形式。 2、拦截器的执行时机: \ 3、自定义拦截器 3.1、拦截器的类试 ...
分类:
编程语言 时间:
2016-06-15 23:53:26
阅读次数:
315
Value Stack的作用: 1. 可以作为一个数据中转站 2. 用于在前台-后台之间传递数据,最典型的做法就是struts2标签也ognl表达式的结合。我用得最多的就是数据回显。 Value Stack的生命周期: 在struts-default.xml文件中决定了在web容器启动时将会创建Og ...
分类:
其他好文 时间:
2016-06-14 13:59:31
阅读次数:
278
Mybatis 的动态sql语句是基于OGNL表达式的。可以方便的在 sql 语句中实现某些逻辑. 总体说来mybatis 动态SQL 语句主要有以下几类:
1. if 语句 (简单的条件判断)
2. choose (when,otherwize) ,相当于java 语言中的 switch ,与 jstl 中的choose 很类似.
3. trim (对包含的内容加上 prefix,或者 s...
分类:
数据库 时间:
2016-06-13 15:36:12
阅读次数:
426
一、OGNL表达式1、OGNL表达式介绍OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目。 Struts2框架使用OGNL作为默认的表达式语言。OGNL相对其它表达式语言具有下面几大优势:
1、支持对象方法调用,如xxx.doSomeSpecial();
2、支持类静态的方法调用和值访问,表达式的格式:
@[类全名(包括...
分类:
编程语言 时间:
2016-06-12 02:52:06
阅读次数:
300
首先了解下OGNL的概念: OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对象的方法,能够遍历整个对象的结构图,实现对象属性类型的转换等功能。 此外,还得先需弄懂 ...
分类:
其他好文 时间:
2016-06-11 15:49:02
阅读次数:
210
作为MVC框架,必须要负责解析HTTP请求参数,并将其封装到Model对象中,Struts2提供了非常强大的类型转换机制用于请求数据 到 model对象的封装。1、Struts2 提供三种数据封装的方式
Action 本身作为model对象,通过成员setter封装创建独立model对象,页面通过ognl表达式封装使用ModelDriven接口,对请求数据进行封装
1. 方式一:在动作类中成员变量给...
分类:
编程语言 时间:
2016-06-08 10:48:53
阅读次数:
313