struts与ognl结合

-----------------------------ognl表达式------------------------

OGNL:对象视图导航语言.  ${user.addr.name} 这种写法就叫对象视图导航.
OGNL不仅仅可以视图导航.支持比EL表达式更加丰富的功能.

1.使用OGNL准备工作

1.1  导包

  struts2 的包中已经包含了.所以不需要导入额外的jar包

1.2  代码准备

1.3  语法

  1.3.1  基本取值

  1.3.2  复值

  1.3.3  调用方法

  1.3.4  调用静态方法

  1.3.5  创建对象list,map

----------Ognl与Struts结合---------------------------------

2.结合原理

2.1栈原理

 

栈中的两个方法的实现

2.2  查看值栈中两部分内容(使用DEBUG标签)

2.2.1  root

 

默认情况下,栈中放置当前访问的Action对象

2.2.2  Context

Context部分就是ActionContext数据中心

2.3  struts2与ognl结合体现

2.3.1  参数接收

2.3.2  配置文件中

语法:${ognl表达式}

2.4  扩展:request对象的getAttribute方法

查找顺序

时间: 2024-10-24 09:56:50

struts与ognl结合的相关文章

Struts 2 OGNL Expression Tutorial with Examples

OGNL is Object Graph Navigation Language. OGNL is an expression that can set and get the property of java object. In struts 2 OGNL is used to associate Action class and UI components. OGNL uses a standard naming convention to evaluate the Expression.

Struts 2 OGNL 对象访问

在Struts 2应用中,视图页面可以通过标签直接访问Action的属性(实际上这是一种假象,类似于Web应用保持application.session.request.page这4个范围的“银行”一样,Struts自行维护一个特定范围的“银行”,Action将数据放入其中,而JSP页面可以从其中取出数据,表面上似乎JSP可以直接访问Action数据),当Action属性不是简单值(基本数据类型或String类型)时,而是某个对象甚至是数组,集合时,就需要使用表达式语言来访问这些对象.数组.集合

struts基于ognl的自动类型转换需要注意的地方

好吧,坎坷的过程我就不说了,直接上结论: 在struts2中使用基于ognl的自动类型转换时,Action中的对象属性必须同时添加get/set方法. 例如: 客户端表单: <s:form action="registPro"> <s:textfield name="user.id" label="id"/> <s:textfield name="user.name" label="用户

struts的ognl.NoConversionPossible错误

JSP页面便利集合的时候,代码如下 <s:iterator value="storageList" id="stList" status="st"> <tr> <td class="list_data_number"><s:property value="#st.index+1"/></td> <td class="list_dat

Struts中OGNL的一些基本知识(#,${}等)

OGNL的概念: OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对象的方法,能够遍历整个对象的结构图,实现对象属性类型的转换等功能. OGNL上下文实际上就是一个Map对象,由ognl.OgnlContext类表示.它里面可以存放很多个JavaBean对象. 原文地址:http://www.cnblogs.com/xly1208/archive/2011/11

★★JSP+Struts+Mysql构建的MVC三层框架对一张数据表的CURD

项目实现流程 大体流程:搭建环境 à 开发后台 à 开发前台 建立工程(struts2CURD),拷贝jar包,建立struts.xml文件,搭建环境 建立数据库和数据源配置:dbcpconfig.properties 建立db.sql:里面全是数据库操作的一些语句 建立操作数据库的工具:*.util:DBCPUtil.java,用于加载数据源.getDataSource(); *.Domain:User.java 继承ActionSupport,实现Serializable接口. ????写好

OGNL访问复杂对象和静态方法

今天学习了Struts的OGNL访问复杂对象和静态方法,现在来总结下. 1.OGNL访问复杂对象 (1)先创建包model.action.在model中创建模型Student(name,age).action中创建HelloAction package com.fangchao.action; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; imp

ognl表达式应用

struts.xml <!--OGNL表达式  --> <package name="Ognl" extends="struts-default">     <action name="getOgnl" class="com.cb.Ognl" method="TestOgnl"> <result name="list">/WEB-INF/p

Struts2的整体回顾(Action, 拦截器, 值栈, OGNL表示式, ModelDriven)

ValueStack里有map(request, session, attr, parameters)和对象栈. Map调用的方法: ActionContext.getContext().put(k,v)/ get(k) 对象栈的调用方法: ActionContext.getContext.getValueStack().push(obj)/pop(); OGNL格式: struts.xml, OGNL的格式为: ${ognl} jsp里 OGNL的格式为: %{ognl} 语法: user=f