4.Struts2-OGNL】的更多相关文章

OGNL(Object-Graph Navigation Language)全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对象的方法,能够遍历整个对象的结构图,实现对象属性类型的转换等功能. ognl的特点: a.支持对象的方法调用,形式,eg:objName.methodName(); b.支持静态类的方法调用和值访问,expression:@[类全名(包括包路径)]@[方法名|值名],eg:@tutorial.MyConstant@Ap…
一>>原始类型与包装类型 先定义两个实体类User和Address User package cn.entity; public class User { private String name; private int age; private Address address; public Address getAddress() { return address; } public void setAddress(Address address) { this.address = add…
一.struts2系统验证 1.基于struts2系统验证的方式实际上就是通过配置xml文件的方式达到验证的目的. 2.实际上系统校验的方法和手工校验的方法在底层的基本实现是相同的.但是使用系统校验的时候对实现过程进行了封装,用起来比较方便. 3.实现过程 (1)在Action文件中定义好相关属性,属性名字和表单中的name属性值要相同. (2)在Action同目录下新建一个XML文件,文件命名规则如下 * 如果是针对整个Action文件的,则文件名为:ActionClassName-valid…
Strut2 有比较完善的使用OGNL的jsp标签自动转化为对应的后台对象的功能. 这里java.util.Date的自动转化有一些需要注意的地方(局部转换): 1.必须要在struts的xml文件中,在对应action里加入一个name为"input"的result项. 不然使用的时候,strut2框架会报错,如下: 提示缺少一个名为 input 的result结果. 2. 如果需要使用自定义转化Date的话,对应的properties文件中的对应关系,最后一定不能有空格!还有不能习…
要使用Struts2的自定义对象转化,需要几个要点: 1.要有继承DefaultTypeConverter的实现类,要重写convertValue,并且参数value转化而来的String是String[],一般取第一个String,而不是String.这和Struts2为保证兼容性的机制有关. 2.在Action中一定要有需要转化的对象以及对应的get和set方法 3.如果是局部转化的话,在Action累所在的目录中需要配置对应的 properties文件 4.在前台jsp页面中,使用OGNL…
一.OGNL OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对象的方法,能够遍历整个对象的结构图,实现对象属性类型的转换等功能. 1.OGNL表达式的计算是围绕OGNL上下文进行的. OGNL上下文实际上就是一个Map对象,由ognl.OgnlContext类表示.它里面可以存放很多个JavaBean对象.它有一个上下文根对象. 上下文中的根对象可以直接使用名…
OGNL OGNL ( Object Graph Navigation Language ),对象图导航语言.这是一种强大的表达式语言,通过它可以非常方便的来操作对象属性. 在 Struts2 中,OGNL 需要和 Struts2 标签库配套来使用. OGNL context |                                | -- application                                |                            …
在实现一个功能的时候用到了Struts2的OGNL 调用后台的静态方法,弄了半天没有出来结果,原来是自己没有在Struts的配置文件里面申明可以在前台使用后台的静态方法 <constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant> <s:property value="@com.xxx.util.Util@sayHello('tian…
一.Struts 2支持以下几种表达式语言: OGNL(Object-Graph Navigation Language),可以方便地操作对象属性的开源表达式语言:JSTL(JSP Standard Tag Library),JSP 2.0集成的标准的表达式语言:Groovy,基于Java平台的动态语言,它具有时下比较流行的动态语言(如Python.Ruby和Smarttalk等)的一些起特性:Velocity,严格来说不是表达式语言,它是一种基于Java的模板匹配引擎,具说其性能要比JSP好.…
三.OGNL配合通用标签的其他使用 1.iterator标签(很重要) 动作类 package com.itheima.web.action; import java.util.ArrayList; import java.util.List; import com.itheima.domain.Student; import com.opensymphony.xwork2.ActionSupport; /** * s:iterator标签的使用 * @author zhy * */ publi…
http://blog.csdn.net/tjujacob/article/details/8117659 —————————————————————————————————————————————————————————— 一."#"的用法     1. 访问OGNL上下文和Action上下文,#相当于ActionContext.getContext():下表有几个ActionContext中有用的属性:           parameters  包含当前HTTP请求参数的Map…
1:简单的说,值栈是对应每一个请求对象的轻量级的数据存储中心,在这里统一管理着数据,供Action.Result.Interceptor等Struts2的其他部分使用,这样数据被集中管理起来而不凌乱. 简单的说,值栈能够线程安全的为每个请求提供公共的数据存取服务. 当有请求的时候,Struts2会为每个请求创建一个新的值栈,也就是说,栈和请求是一一对应的,不同的请求,值栈也不一样,而值栈封装了一次请求所有需要操作的相关的数据. 正是因为值栈和请求的对应关系,因此值栈能保证线程安全的为每个请求提供…
OGNL简介 OGNL,即Object-Graph Navigation Language,对象视图导航语言,是一种数据访问语言,比EL表达式更加强大: EL只能从11个内置对象中取值,且只能获取属性,不能调用对象的方法. OGNL可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图. OGNL是可以单独使用的.OGNL并不属于Struts2,只不过Struts2觉得OGNL不错,把OGNL给整合进来了. Struts2的8个核心jar包中已经包含了OGNL的jar包,不需要我们再导包.…
1.“#”主要有三种用途: 访问OGNL上下文和Action上下文,#相当于ActionContext.getContext():可以访问这几个ActionContext中的属性. parameters #parameters.id[0]作用相当于request.getParameter("id") request #request.userName相当于request.getAttribute("userName") session #session.userNa…
ongl存放数据可以存放在对象栈(root),也可以存放在map中 一.存放在map中 1.存放在map中可以分为存放在request.session.application public String testPutDataToValueStack(){ /* * 1.往request,session,application域中存放数据 * 2.观察内存结构 */ ServletActionContext.getRequest().setAttribute("request_username&…
1 修改CustomerAction代码 2 修改jsp/customer/list.jsp代码 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"…
OGNL(Object-Graph Navigation Language)全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对象的方法,能够遍历整个对象的结构图,实现对象属性类型的转换等功能. ognl的特点: a.支持对象的方法调用,形式,eg:objName.methodName(); b.支持静态类的方法调用和值访问,expression:@[类全名(包括包路径)]@[方法名|值名],eg:@tutorial.MyConstant@Ap…
一下纯属个人总结摘抄,总结一起方便查看,解决疑问,有遗漏或错误,还请指出.       1,JSTL标签总结: a).JSTL标签有什么用?          JSTL是由JCP(Java Community Process)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签函数库.  Web程序员能够利用JSTL和EL来 开发Web程序,取代传统直接在页面上嵌入Java程序(Scripting)的做法,以提高程序的阅读性.维护性和方便性. b).什么是JSTL标签?  …
OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对象的方法,能够遍历整个对象的结构图,实现对象属性类型的转换等功能.此外,还得先需弄懂OGNL的一些知识: 1.OGNL表达式的计算是围绕OGNL上下文进行的.OGNL上下文实际上就是一个Map对象,由ognl.OgnlContext类表示.它里面可以存放很多个JavaBean对象.它有一个上下文根对象.上下文中的…
OGNL: Object Graph Navigation Language index.jsp: <body> 访问属性 <a href="<%=contextPath %>/ognl.action?username=u&password=p">ognl</a> </body> struts.xml: <?xml version="1.0" encoding="UTF-8"…
一.OGNL概述 1.1 什么是OGNL OGNL的全称是对象图导航语言( object-graph Navigation Language),它是一种功能强大的开源表达式语言,使用这种表达式语言,可以通过某种表达式语法,存取Java对象的任意属性,调用Java对象的方法,同时能够自动实现必要的类型转换.如果把表达式看作是一个带有语义的字符串,那么OGNL无疑成为了这个语义字符串与Java对象之间沟通的桥梁. 1.2 OGNL的作用 Struts2默认的表达式语言就是OGNL,它具有以下特点:…
Struts 2支持以下几种表达式语言: OGNL(Object-Graph Navigation Language),可以方便地操作对象属性的开源表达式语言: JSTL(JSP Standard Tag Library),JSP 2.0集成的标准的表达式语言: Groovy,基于Java平台的动态语言,它具有时下比较流行的动态语言(如Python.Ruby和Smarttalk等)的一些起特性: Velocity,严格来说不是表达式语言,它是一种基于Java的模板匹配引擎,具说其性能要比JSP好…
首先了解下OGNL的概念: OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对象的方法,能够遍历整个对象的结构图,实现对象属性类型的转换等功能. 此外,还得先需弄懂OGNL的一些知识: 1.OGNL表达式的计算是围绕OGNL上下文进行的. OGNL上下文实际上就是一个Map对象,由ognl.OgnlContext类表示.它里面可以存放很多个JavaBean对象.…
catalog . Description . Effected Scope . Exploit Analysis . Principle Of Vulnerability . Patch Fix 1. Description S2-007和S2-003.S2-005的漏洞源头都是一样的,都是struts2对OGNL的解析过程中存在漏洞,导致黑客可以通过OGNL表达式实现代码注入和执行,所不同的是 . S2-.S2-: 通过OGNL的name-value的赋值解析过程.#访问全局静态变量(AOP…
catalog . 引言 . struts2的类型转换 . struts2的输入校验 . struts2的拦截器机制 . 使用struts2的Ajax支持 . struts2 OGNL表达式 . struts2的文件上传 . Struts2标签库 0. 引言 . 与所有MVC框架类似,struts2也提供了类型转换和输入校验支持 . struts2提供了非常强大的类型转换支持,它既提供了大量内建类型转换器,用以满足常规的Web开发,也允许开发者实现自己的类型转换器 . struts提供了非常强大…
作者: hzboy192@192.com Blog: http://my.csdn.net/peng_hao1988 版本总览:http://blog.csdn.net/peng_hao1988/article/details/9026897 实现步骤: 一.OGNL(对象导航.方法调用.集合对象) (1)OGNL对象导航 <!-- 访问action中的属性直接使用属性名称 --> <s:iterator var="user" value="users&qu…
来说一下Struts标签,之前我们也很多地方用到了,还是来总结一下. 首先是property标签. <li>property:<s:property value="users"/></li> <li>property取值为字符串:<s:property value="'users'"/></li> <li>property设定默认值:<s:property value=&quo…
一.OGNL表达式 a)什么是OGNL? OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言, 通过它简单一致的表达式语法.主要功能:                 Ø  可以存取对象的任意属性:                 Ø  调用对象的方法:                 Ø  遍历整个对象的结构图:                 Ø  实现字段类型转化等功能. 它使用相同的表达式去存取对象的属性.这样可以更好的取得数据…
1. 表达式语言OGNL OGNL简介 OGNL基本语法 常量 操作符 OGNL表达式 OGNL基础 OGNL上下文 OGNL值栈 OGNL的访问 2. 具体内容 2.1 OGNL简介 OGNL(Object-Graph Navigation Language)对象图导航语言的缩写,OGNL是一种表达式语言(Expression Language, EL).可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能. OGNL是一种对java对象的getter和sett…
day03 上传下载 1        上传下载组件介绍 l  jspSmartUpload(model1的年代): l  apache-commons-fileupload,Struts2默认上传组件: l  Servlet3.0使用的Part,但Servlet3.0还没有普及: l  COS,Struts2支持,不过已经停止更新很久了: l  pell,Struts2支持. 2        fileUpload的拦截器 Struts2默认使用的是commons-fileUpload组件完成…