读书人

java web从0单排第十三期《struts2》O

发布时间: 2013-10-08 16:46:23 作者: rapoo

java web从零单排第十三期《struts2》OGNL上下文

1.什么是OGNL

Object-Graph Navigation Language 对象图导航语言。这种语言非常强大,可以存取任意对象的属性或者调用对象的方法,能够遍历整个对象的图结构,实现对属性类型的转换等功能,是struts2框架的特点之一。

2.什么是ONGL上下文

ONGL表达式的计算是围绕ONGL上下文进行的,我们以一个形象化的例子来看看触手可及ONGL上下文:

新建控制层test.java

package controller;public class test {private String username;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String execute(){username = "niujiabin";return "show";}}

新建show.jsp,并在箭头处设置断点。

java web从0单排第十三期《struts2》OGNL上下文
在myeclipse的debug模式下运行test.action,可以看到variables面板:

java web从0单排第十三期《struts2》OGNL上下文

第二行就是我们所要找的OgnlContext(OGNL上下文),我们点开看看里面都有什么

java web从0单排第十三期《struts2》OGNL上下文

我们先找到root行。里面对存放的都是跟对象,是可以直接访问的,看看root里面有没有我们熟悉的东西

java web从0单排第十三期《struts2》OGNL上下文

没错,我们在action中定义username就在root下,我们可以这样总结:action中的属性会放在值栈中,并且是在root下。存放在root中的任何属性,我们都是可以直接访问的,取值的方式可以使用EL表达式:${username},关于EL表达式,不在本文章的范围,请同学自行学习。也可以用struts2标签来取值:<s:property value="username">

我们新建一个jsp来演示两种取值方法和结果:

java web从0单排第十三期《struts2》OGNL上下文

java web从0单排第十三期《struts2》OGNL上下文

读书人网 >Web前端

热点推荐