- 浏览: 476506 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (501)
- java基础 (45)
- struts2 (22)
- WebService (9)
- JavaScript (21)
- Java多线程 (37)
- Hibernate (5)
- Spring (31)
- 数据库 (4)
- 软件设计 (1)
- J2ee (8)
- oracle (2)
- Linux (41)
- Hadoop (1)
- Java集合 (3)
- 设计模式 (3)
- 高并发 (1)
- JVM (15)
- xml (2)
- 数据库事务 (3)
- 动态代理 (1)
- tomcat (9)
- 其他 (4)
- DNS域名 (3)
- CDN (2)
- javaapi (1)
- 编码问题 (6)
- CSS样式 (1)
- TCP学习 (3)
- Java IO (6)
- 常见异常问题 (1)
- 网络编程 (1)
- 开发工具 (5)
- Maven (10)
- ibatis (12)
- Velocity (8)
- Jquery (11)
- HTTP (9)
- 中间件 (3)
- 软件管理 (2)
- Html (2)
- Redis (3)
- 服务器 (1)
- 分布式文件系统 (1)
- 异常 (1)
- 杂谈 (1)
- ICE (4)
- cxf (1)
- Apache ActiveMQ (1)
- 好文 (1)
- Json (1)
- junit (2)
- JMS (1)
- java工具 (1)
- memcache (5)
- 加密解密 (1)
- powerdesigner (3)
- Enterprise Architect (1)
- ide (0)
- hessian (3)
- svn (1)
- xstream (1)
- idea (12)
- HttpClient (2)
- solr (4)
- lucene (2)
- 正则 (2)
- 商品设计 (1)
- poi (1)
- nginx (8)
- java基础;Java集合类 (1)
- javassist (1)
- JMeter (1)
- springmvc (1)
- Java对象序列化 (2)
- java nio (4)
- RandomAccessFile (1)
- socket (1)
- netty (3)
- 博客 (1)
- Spring AOP (7)
- mysql (10)
- 远程调用 (2)
- https (3)
- 加密 (3)
- sql (1)
- git (1)
- webx (1)
- eclipse (1)
- 上传下载 (2)
- log4j (4)
- Mac 系统使用 (6)
最新评论
-
wanxiaotao12:
aswang 写道总结的不错,
正在读《java并发编程实战 ...
Java并发编程实战-学习笔记 -
aswang:
总结的不错, 正在读《java并发编程实战》,看到其中的不变性 ...
Java并发编程实战-学习笔记 -
lianhan3344:
感谢博主分享!!!!
深入剖析Tomcat How+Tomcat+Works中文367页.pdf -
vict0323:
真的是酱紫么?求真相
Spring 实际开发项目中, 是否要default-autowire="byName"
1. 可以作为一个数据中转站 2. 用于在前台-后台之间传递数据,最典型的做法就是struts2标签也ognl表达式的结合。我用得最多的就是数据回显。 在struts-default.xml文件中决定了在web容器启动时将会创建OgnlValueStackFactory对象,该对象实现了ValueStackFactory接口,负责ValueStack的创建工作。 ValueStack的生命周期是随着request的创建而创建,随request的销毁而销毁。具体可见源代码: 在PrepareOperations类的createActionContext中有 至于清理工作,struts统一放在了PrepareOperations类的cleanupRequest方法中。 主要看OgnlValueStack类,此类实现了ValueStack接口。 在OgnlValueStack中有两个至关重要的东西, CompoundRoot继承了ArrayList类,即是一个List集合,详见源码CompoundRoot类。 Context:而context实际上是一个hashMap, 其中_values就是平时使用的map栈,而_root只是对对象栈的引用。 常用方法解析: 1. push方法: 2. set(String key,Object o)方法: 再看 也就是说第一次使用该方法时,struts会创建一个新的map。 3. pop方法: 4. peek方法 获取栈顶对象,做法与pop方法相同,只不过是get数据。 所以即可总结出使用方法: 1. 将数据放入值栈 将对象放入栈顶: a) ActionContext.getContext().getValueStack().push("aa); b) ActionContext.getContext().getValueStack().getRoot().add(0,"bb"); 将数据放入map栈 ActionContext.getContext().getValueStack().set(“a”,”a”); 2. 从值栈中获取数据 a) 获取栈顶数据 i. ActionContext.getContext().getValueStack().peek(); ii. ActionContext.getContext().getValueStack().getRoot().get(0); 一般情况下,将对象放入栈顶之前先移除栈顶对象,这样可以节省内存空间。 重要: 1. Interator标签当前迭代的对象在栈顶。 2. Iterator标签的value可以不写,默认是迭代栈顶元素。 转:http://my.oschina.net/mlongbo/blog/88250 Value Stack的作用:
Value Stack的生命周期:
Value Stack结构:
CompoundRoot:
使用Value Stack:
发表评论
-
struts2对请求参数的处理
2013-10-10 18:31 652struts2对请求参数的处理 struts2 拦截 ... -
struts2中取得文件的绝对路径的方法
2013-09-30 16:44 1509方法1: [java] view plainc ... -
struts2的ValueStack
2013-06-21 01:03 608Struts2 ValueStack & Acti ... -
struts2中ActionContext应用
2013-06-20 22:38 456struts2中ActionContext应用 -
Struts2源码分析--请求处理
2013-05-12 23:18 685Struts2架构图 请求首先通过Fi ... -
Struts2的运行流程
2013-05-12 23:08 8223.2 Struts2的运行流程 3.2.1 运行 ... -
WebWork框架原理
2013-05-12 12:34 996WebWork的三个关键部分 1、 Actions ... -
Struts2技术内幕-学习
2013-05-05 23:38 12601、MVC只是概念, 我们 ... -
Ognl学习
2013-05-05 16:21 784OGNL框架的使用入门(一) OGNL框架的使用入 ... -
struts2 值栈
2012-12-20 09:48 839值栈(ValueStack)是struts2中的一个重要的 ... -
locale 详解
2012-12-16 00:04 771转:http://daimajishu.iteye.com/b ... -
Struts2 Result-type(封装Action层到View层的跳转逻辑)
2012-12-11 09:14 743http://www.blogjava.net/jzone/a ... -
struts2中常用Result类型的用法
2012-12-10 23:14 692http://zhangxiang390.iteye.com/ ... -
Struts2中使用HttpServletRequest和HttpServletResponse
2012-12-10 22:35 942http://blog.csdn.net/wl_ldy/art ... -
struts2的国际化 Action类中的国际化
2012-12-10 19:16 919转:http://callan.iteye.com/blog/ ... -
struts2中减少action数量(通配符使用)
2012-12-07 14:50 507http://www.cnblogs.com/netshuai ... -
Struts2中 session的使用
2012-11-11 01:02 816在Struts2里,如果需要在Action中使用session ... -
struts2 架构图及工作流程
2012-10-19 00:43 6871、struts2架构图 2、工作流程 ... -
struts2 action中如何读取国际化资源文件
2012-07-26 22:53 1575action中如何读取国际化资源文件 1、在url地址中使用 ... -
struts2国际化文件的使用
2012-02-01 23:37 1042sturst2国际化资源文件有三种级别从高到低是:类级别(类名 ...
相关推荐
ActionContext包含了当前请求的所有上下文信息,如Action实例、值栈(Value Stack)、会话、请求参数等。它是Struts2框架内部通信的重要桥梁。 **8. 国际化与本地化** Struts2支持多语言环境,通过资源包...
在使用Struts2框架进行Web应用开发时,经常会遇到需要从Value Stack(值栈)中获取数据的场景,尤其是在表单验证中。Struts2的Value Stack是一种可以方便地在Action和JSP页面之间传递数据的机制。本文将详细介绍如何...
2. **ActionContext**: 包含了当前请求的所有上下文信息,如session、request、response、value stack等。 3. **ActionInvocation**: 表示Action执行的实例,包含了调用链以及拦截器链。 4. **...
通过`struts2-core`的API文档,开发者可以快速查找和了解如何使用Struts2的各种功能,例如ActionSupport、ResultType、InterceptorStack等。这些文档通常包括类的描述、方法签名、参数说明和返回值,有助于提高开发...
4. **值栈(Value Stack)**:Struts2的模型部分主要依赖于值栈,它是`org.apache.struts2.util`包的一部分,用于存储Action的属性和结果,方便视图层直接访问。 5. **结果类型(Result Types)**:`org.apache....
Value Stack是Struts2的核心概念,它是一个存储Action属性的对象栈。当Action执行时,栈中的对象可以通过JSON插件转化为JSON格式。 4. **Action的返回值**: Action方法可以返回一个Map、List或其他集合对象,这些...
2. **安全性增强**:随着物联网安全问题日益凸显,Z-Stack 3.0.2 提供了更强的安全特性,包括AES-128加密、认证机制以及安全密钥管理,保护网络免受非法访问和数据篡改。 3. **API 更新**:开发者接口(API)进行了...
redis-stack-server-7.2.0-v9.arm64.snap redis-stack-server-7.2.0-v9.bionic.arm64.tar.gz redis-stack-server-7.2.0-v9.bionic.x86_64.tar.gz redis-stack-server-7.2.0-v9.bullseye.x86_64.tar.gz redis-stack-...
8. **模型驱动(ModelDriven)和拦截器链(Interceptor Stack)**:Struts2支持模型驱动方式,通过一个通用的Model接口,可以简化Action的编写。同时,拦截器链允许开发者自定义拦截器顺序,实现复杂逻辑。 9. **...
Struts2是一个强大的MVC(模型-视图-控制器)框架,它在Java Web开发领域中扮演着重要的角色。此“struts2-2.3.15 jar包”是Struts2框架的一个版本,主要用于搭建开发环境。下面将详细讨论Struts2的核心概念、特性...
4. **Value Stack**:值栈是Struts2用来存储模型对象的地方,它使得视图可以直接访问Action中的属性,而无需通过getter和setter方法。 5. **Tiles**:Struts2集成Tiles框架,允许开发者创建可重用的页面布局,提高...
5. **值栈(Value Stack)**:值栈是Struts2中的数据存储结构,它管理Action的属性值,可以方便地将数据传递给视图层。 6. **结果类型(Result Types)**:Struts2支持多种结果类型,如JSP、FreeMarker、 Velocity...
4. **Value Stack**:这是一个数据容器,用于存储Action与视图之间的数据。 5. **Freemarker/Velocity**:Struts 2支持多种模板技术,如Freemarker和Velocity,用于生成动态HTML页面。 6. **Struts Plugins**:框架...
XWork的ActionContext对象持有与当前请求相关的所有上下文信息,如值栈(Value Stack)和Action实例。 `ognl-3.0.6-sources.jar` 包含了OGNL的源代码,这是一门强大的表达式语言,用于在Struts2中访问和操作对象图...
2. 添加 Prometheus 社区仓库:Helm 图表通常存储在仓库中,需要添加 `prometheus-community` 仓库以便获取 `kube-prometheus-stack`。 3. 安装 `kube-prometheus-stack`:通过 Helm 使用预定义的配置参数安装监控...
- **Value Stack**:值栈是一个对象容器,用于存储Action实例和展示层数据,方便视图层获取。 2. **配置**: - **struts.xml**:框架的主要配置文件,定义了Action、Result、Interceptor栈等。 - **package**:...
- **Value Stack**:存储Action实例和Action上下文,使得数据在不同组件间共享。 3. **配置文件**: - `struts-default.xml`:包含默认的配置,定义了一些通用的Interceptor和Result类型。 - `struts-plugin.xml...
6. **Value Stack**: - 值栈是Struts2的一个重要概念,它是一个对象栈,用于存储Action实例、ActionContext和结果。视图可以直接从值栈中获取数据,简化了视图和模型之间的交互。 7. **OGNL(Object-Graph ...
ndk-stack 调试 cocos2d-x ndk-stack 是一个强大的命令行调试工具,用于调试 Native 代码,especially for Android 平台的.so 库文件。下面我们来详细了解 ndk-stack 在 cocos2d-x 中的应用。 什么是 ndk-stack? ...
6. **Value Stack**:值栈是Struts2中存储动作对象和OGNL表达式交互的地方,它简化了数据绑定和传递。 在"struts2必要的jar包"中,你会找到以下关键的库文件: - **struts2-core.jar**:包含Struts2框架的核心类和...