Struts2 ValueStack】的更多相关文章

Struts2一个重要点就是值栈. ValueStack,是用来存储一些在各个action,或者说是通过s标签.el表达式等给前台Jsp等页面展示的东西. ValueStack是一个接口,其内部接口非常简单: /* * Copyright 2002-2007,2009 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may…
Value Stack的作用: 1.       可以作为一个数据中转站 2.       用于在前台-后台之间传递数据,最典型的做法就是struts2标签也ognl表达式的结合.我用得最多的就是数据回显. Value Stack的生命周期: 在struts-default.xml文件中决定了在web容器启动时将会创建OgnlValueStackFactory对象,该对象实现了ValueStackFactory接口,负责ValueStack的创建工作. ValueStack的生命周期是随着req…
struts2中 ValueStack的set方法与setValue方法的区别呢? 示例代码: ActionContext.getContext().getValueStack().setValue("myname22", "ttt"); 区别: (1)setValue 方法必须要求有该属性的setter方法,否则会报错: Error setting expression'myname22' with value 'ttt' - [unknown location]…
一.作用 可以作为一个数据中转站,用在前台和后台数据传递 二.生命周期 ValueStack的生命周期是随着request的创建而创建,随request的销毁而销毁. 三.结构 OgnlValueStack类实现了ValueStack接口,类中有两个至关重要的东西: 1.CompoundRoot root 根对象栈 通过OGNL可以访问根对象相关联的其他对象 CompoundRoot继承了ArrayList类,即使一个集合,详见源码CompoundRoot类. 访问根对象栈时直接写对象名,或者#…
http://www.blogjava.net/max/archive/2007/04/28/114417.html 我想用的是el表达式! http://www.cnblogs.com/beliefbetrayal/archive/2012/02/11/2347244.html 08web\08_05Strust\struts_day03 struts2的jsp使用EL表达式: 需要在web.xml中配置web-app的xsd声明,或者在相关页面上增加<%@ page isELIgnored=…
JAVA中的OGNL: 1 调用对象的方法: 2 访问对象的静态方法: 3 获取OGNLContext.Root中的数据. User: 4 访问Context: 关键还是在Struts2环境中的使用: 并没有打印 静态方法的值,因为Struts2默认关闭了. 再次刷新后发现有值了. 编写demo debug启动 打断点发现: root和context均在这里面. 修改demo返回值 运行: 方式1: 方式2: 如果有多个user 默认展示栈顶的!!! 没有set get方法 无法查看 但是已经在…
Mvc与servlet 1.1   Servlet的优点 1.  是mvc的基础,其他的框架比如struts1,struts2,webwork都是从servlet基础上发展过来的.所以掌握servlet是掌握mvc的关键. 2.  Servlet把最底层的api暴漏给程序员,使程序员更能清楚的了解mvc的各个特点. 3.  程序员可以对servlet进行封装.Struts2就是从servlet中封装以后得到的结果. 4.  市场上任何一个mvc的框架都是servlet发展过来的,所以要想学好st…
配置当前action的声明异常处理 1.exception-mapping元素中有2个属性 exception:指定需要捕获的异常类型 result:指定一个响应结果,该结果将在捕获到异常时被执行.即可以来自当前action的声明,也可以来自global-results声明. 2.可以在视图上通过<s:property>标签显示异常消息. 基于上几个章节的例子开始往下写,修改save函数: public String save(){ System.out.println("save&…
Map栈 :request,session,application的一个属性值或一个请求参数的值. 若想访问ContextMap里的某个对象的属性,可以使用以下几种之一: #object.propertyName #object['propertyName'] #object["propertyName"] 示例: 返回session中的code属性:#session.code; 返回request中的customer对的name属性值:#request.customer.name 返…
Struts2 用s:porperty标签和OGNL表达式来读取值栈中的属性值: I.值栈中的属性值: 1.对象栈:读取对象栈中的某一个对象的属性值: 2.Map栈 :request,session,application的一个属性值或一个请求参数的值. II.读取对象栈(ObjectStack)中的对象属性: 1.若想读取Object Stack里的某个对象的属性,可以通过以下集中形式之一: object.propertyname object['propertyname'] object["…