struts2学习笔记--OGNL表达式1】的更多相关文章

struts2标签库主要使用的是OGNL语言,类似于El表达式,但是强大得多,它是一种操作对象属性的表达式语言,OGNL有自己的优点: 能够访问对象的方法,如list.size(); 能够访问静态属性和静态方法,只需要在类名前,方法前加上@,如@Math@PI; 支持赋值操作.如赋值#value=5; 能够访问OGNL上下文和ActionContext; 能操作集合类对象. 使用OGNL: public class Test { public static void main(String[]…
Struts2 学习笔记 2015年3月7日11:02:55 MVC思想 Strust2的MVC对应关系如下: 在MVC三个模块当中,struts2对应关系如下: Model: 负责封装应用的状态,并实现应用的功能.通常分为数据模型和业务逻辑模型,数据模型用来存放业务数据,比如订单信息.用户信息等:而业务逻辑模型包含应用的业务操作,比如订单的添加或者修改等. 封装应用状态:某些应用数据封装起来,使得视图只能通过接口获取对应的数据 响应状态查询:对应用的状态改变进行处理 暴露应用功能:暴露接口 通…
Java8学习笔记----Lambda表达式 天锦 2014-03-24 16:43:30 发表于:ATA之家       本文主要记录自己学习Java8的历程,方便大家一起探讨和自己的备忘.因为本人也是刚刚开始学习Java8,所以文中肯定有错误和理解偏差的地方,希望大家帮忙指出,我会持续修改和优化.本文是该系列的第一篇,主要介绍Java8对屌丝码农最有吸引力的一个特性---lambda表达式.   java8的安装 工欲善其器必先利其器,首先安装JDK8.过程省略,大家应该都可以自己搞定.但是…
今天是Struts2学习笔记的最后一篇文章了.用什么做结尾呢,这两天其实还学了很多东西,没有记录下,今天就查漏补缺一下. 文件上传与下载.FreeMarker以及昨天没做完的例子 文件上传与下载 文件的上传与下载涉及到Java的IO操作,etc啊--女朋友打电话写不下去了,明天补! 2017年3月11日 经过了...重庆三日游.办公室三日游.辞职之后...终于有时间补上了!!! 最近一周可以说是上大学以来最爽的时候了,辞去了两年半的职务,主要还是因为那个狗屁老师啥都不懂,还想给你干活,下辈子吧!…
Struts2 学习笔记① 所有的程序学习都从Hello World开始,今天先跟着书做一个HW的示例. Struts2是一套MVC框架,使用起来非常方便,接触到现在觉得最麻烦的地方是配置文件.我的一个老师曾经说过框架=反射+设计模式+配置文件,现在细想确实很有道理. 让Struts2运行起来首先需要导入核心包,核心包可以参考下载文件中的blank.war中的Jar包,具体需要引入的包如下: 接下来就需要配置文件来让Struts跑起来了.Struts2需要配置两个文件:web.xml和strut…
Struts2学习笔记一结合Hibernate完成查询商品类别简单案例(工具IDEA) 1.jar包准备 Hibernate+Struts2 jar包 struts的jar比较多,可以从Struts官方提供的demo中拿到必要的jar就行. 在apps/struts2-blank项目下 2.数据库准备 /* Navicat MySQL Data Transfer Source Server : GaGa Source Server Version : 50549 Source Host : lo…
一.页面向Action传参 1.基本属性注入,页面命名name,action提供成员变量name并提供set方法. 2.域模型注入:页面用user.name对象点属性形式.action成员user对象并提供set方法 二.页面从Action取值 1.使用EL表达式取值:${属性名}---${对象.属性名} 2. 使用OGNL取值: 三.OGNL介绍: Struts2默认采用OGNL表达式访问aciton的数据,实际上是通过ValueStack对象来访问Action. 1.Struts2显示标签:…
OGNL表达式概述 1. OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写 * 所谓对象图,即以任意一个对象为根,通过OGNL可以访问与这个对象关联的其它对象 * 通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能.它使用相同的表达式去存取对象的属性 2. Struts2框架使用OGNL作为默认的表达式语言 * OGNL是一种比EL强大很多倍的语言 * xwork提供 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概述 1.1 什么是OGNL OGNL的全称是对象图导航语言( object-graph Navigation Language),它是一种功能强大的开源表达式语言,使用这种表达式语言,可以通过某种表达式语法,存取Java对象的任意属性,调用Java对象的方法,同时能够自动实现必要的类型转换.如果把表达式看作是一个带有语义的字符串,那么OGNL无疑成为了这个语义字符串与Java对象之间沟通的桥梁. 1.2 OGNL的作用 Struts2默认的表达式语言就是OGNL,它具有以下特点:…
OGNL,全称为Object-Graph Navigation Language(对象图表达语言),它是一个功能强大的表达式语言,用来获取和设置Java对象的属性,调用java对象的方法,同时能够自动实现必要的类型转换.它旨在提供一个更高的更抽象的层次来对Java对象图进行导航.如果把表达式看作是一个带有语义的字符串,那么OGNL无疑成为了这个语义字符串与Java对象之间沟通的桥梁. OGNL:对象视图导航语言. ${user.addr.name} 这种写法就叫对象视图导航.OGNL不仅仅可以视…
今天看了ognl表达式,不是很理解,准备以后再回头复习: http://developer.51cto.com/art/201203/322509.htm#case1…
Struts2常量 配置Struts2常量值有3个地方,1)在struts.properties文件中配置常量:2)在web.xml文件中配置FileterDispatcher指定初始化参数来配置常量:3)在struts.xml文件中使用<constrant.../>元素来配置常量.下面详细说说第一种方式. 1. struts.configuration: 该常量指定加载struts2配置文件的配置文件管理器.该常量的默认值是org.apache.struts2.config.DefaultC…
概述 国际化(Internationalization),通途的讲,就是让软件实现对多种语言的支持.可以通过简单的设置就可以从一种语言切换到另一种语言.用的最多的地方就是在应用程序的界面表示上.我们经常接触到一些软件,他们支持多种语言,并且可以随用户的切换.比如我们常用的eclipse就是.通常在实现多语言支持时尽量保持亮点: (1)不给软件开发带来过多的额外负担. (2)实现语言切换或者添加新语言支持不需要修改已经完工的软件(代码) Struts2也提供了对国际化的支持,它的国际化功能建立在J…
一.分文件编写框架配置文件 1.不分文件开发可能产生的问题 就类似于我们在写java类时,所有代码都写在一个类里,甚至写在一个方法里. 当3个人都checkout了struts.xml文件时,第一个人提交了,后面的人在没有更新就提交时,第一个人写的可能就白写了. 2.分文件编写Struts2的配置文件 二.封装请求正文到对象中(非常重要) 1.静态参数封装 在struts.xml配置文件中,给动作类注入值.调用的是setter方法. 原因:是由一个staticParams的拦截器完成注入的. 2…
一.OGNL表达式简介 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目.所谓对象图,即以任意一个对象为根,通过OGNL可以访问与这个对象关联的其它对象.通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能.它使用相同的表达式去存取对象的属性. Struts2框架使用OGNL作为默认的表达式语言 二.OGNL三要素和五大功能 三大要素: (1).expression…
OGNL表达式struts2标签“%,#,$” 一.什么是OGNL,有什么特点? OGNL(Object-Graph Navigation Language),大概可以理解为:对象图形化导航语言.是一种可以方便地操作对象属性的开源表达式语言.OGNL有如下特点: .支持对象方法调用,形式如:objName.methodName(): .支持类静态的方法调用和值访问,表达式的格式为@[类全名(包括包路)]@[方法名 |  值名],例如: @java.lang.String@format('foo …
来说一下Struts标签,之前我们也很多地方用到了,还是来总结一下. 首先是property标签. <li>property:<s:property value="users"/></li> <li>property取值为字符串:<s:property value="'users'"/></li> <li>property设定默认值:<s:property value=&quo…
在struts2中,我们能够实现对action的全部方法进行校验或者对action的指定方法进行校验. 对于输入校验struts2提供了两种实现方法: 1. 採用手工编写代码实现. 2. 基于XML配置方式实现. 一.採用手工编写代码实现 1.手工编写代码实现对action中全部方法输入校验 通过重写validate() 方法实现. validate()方法会校验action中全部与execute方法签名同样的方法. 当某个数据校验失败时.我们应该调用addFieldError()方法往系统的f…
拦截器初探 昨天临睡觉之前看了看拦截器,也在昨天的学习笔记里面胡诌诌了几句,今天就来好好的会会拦截器这个东西.实际上拦截器是一种模块实现的机制<起码我是这么体会的>(至于说书里面说体现了AOP的设计思想-我连AOP是啥还没搞清楚好伐-),在struts1的版本里面,struts将所有的功能围绕着核心控制器来实现的,而到了Struts2,控制器不在承担过多的功能支持,将这些功能拓展交给拦截器来完成. 拦截器设计为在action之前或action之后执行,从系统的架构图也能看出来,除了系统核心的拦…
Struts2的数据校验属于服务器端校验,Struts2 支持校验方式 : 手动校验(代码校验) :在服务器端通过编写java代码,完成数据校验 自动校验(配置校验) :XML配置校验(主流) 和 注解配置校验 1.手动校验 1)Struts2的手动校验步骤: 首先要从页面中获取对应的标签name属性的值,在动作类action中声明同名的属性,提供get和set方法; 要继承ActionSupport类或者实现Validateable接口: 重写Validateable接口的validate()…
在struts2框架中关于Action处理请求参数有两种方案(三个方式),表单属性的名称应该和在Action类中定义的成员属性或者在JavaBean中定义的成员属性名称一样: 1.属性驱动 1)直接在Action类中定义成员属性来接收请求参数 (将Action当成javaBean),在Action中还需要定义成员属性的setter方法. 表单信息: <form action="${pageContext.servletContext.contextPath}/testAction.acti…
Struts2的输入校验 之前对请求参数的输入校验一般分为两部分:1.客户端校验,也就是我们写js代码去对客户的误操作进行过滤  2.服务端校验, 这是整个应用组织非法数据的最后防线. Struts2的校验方式与其很大不同.Struts2是手动完成输入校验,可以编写自己的校验规则,基于Annotation的输入校验. 一.手工验证 比如说我们要验证如下: jsp界面用户输入的用户名不能为null,密码不能为null,且长度必须是6-12位. 那么在我们所的action中有两步是必须做的:1.ac…
这里是重点. Action接口 struts2 的Action可以是POJO 为了让用户开发的Action更加规范struts2提供了一个Action接口 ActionSupport基类 Struts2为Action接口提供了一个实现类 ActionSupport,定义了 表单域校验.错误信息设置和获得国际化信息相关一些方法 我们写的action可以有以下几种选择: Action 可以是 POJO 用户编写Action 可以实现Action接口    可以使用结果集常量字符串 用户编写Actio…
本文地址:http://blog.csdn.net/sushengmiyan/article/details/40303897 官方文档:http://struts.apache.org/release/2.3.x/docs/create-struts-2-web-application-using-maven-to-manage-artifacts-and-to-build-the-application.html 本文作者:sushengmiyan ---------------------…
什么是OGNL表达式 Object-Graph Navigation Language的缩写. 可以遍历整个对象结构图,实现对象类型转换等功能的表达式. OGNL实际上是个Map集合,有一个上下文根对象. ActionContext作为OGNL上下文,并把ValueStack作为根对象. ValueStack 可以执行,增加,删除,查询. struts2会把Action放到栈顶. OGNL中的几个家伙 # 访问非根对象属性 #session.msg 相当于 ActionContext.getCo…
1. OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写 * 所谓对象图,即以任意一个对象为根,通过OGNL可以访问与这个对象关联的其它对象 * 通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能.它使用相同的表达式去存取对象的属性 2. Struts2框架使用OGNL作为默认的表达式语言(OGNL可以在struts2框架中使用,也可以单独使用)表达式语言用于获取jsp页面数据 *…
一:什么是值栈:struts2里面本身提供的一种存储机制,类似于域对象,值栈,可以存值和取值 特点:先进后出,最上面的元素叫做栈顶,也叫压栈. <s:debug></s:debug>可以看到栈的元素,栈的结构为root和context,root返回的结构是list集合,context返回的是map集合 二:action和servlet区别: 每次访问的action的时候,都会创建一个新的action对象,而servlet只会创建一个对象 注意:每次访问action都会创建一个act…
实现目标:       1.使用验证框架对用户注冊信息进行验证       2.验证username.password.邮箱不能为空       3.验证username.password长度       4.验证邮件地址格式 详细实现 一.Struts2应用的基础配置       这里不做具体阐述,具体为web.xml.相关jar包的配置 二.将页面显示的文本内容放到资源文件里       1.查看用户注冊程序中的全部页面,找到全部能够显示的文本内容,将它们分离出来放到资源文件里.      …
一.contextMap中的数据操作 root根:List 元素1 元素2 元素3 元素4 元素5 contextMap:Map key value application Map key value name test session Map request Map attr Map 1.存数据: 需要熟悉ActionContext和valueStack的API.框架为我们存数据. 1.1.利用ActionContext存数据 1.2.利用ValueStack存数据 a.如何获取ValueSt…