社区
Java EE
帖子详情
struts2中的valueStack和ActionContext
jackaudrey
2010-05-14 11:28:42
I.最近在学习struts2时看到ActionContext是线程安全的,关于这个线程有两个问题
1>:如何创建一个安全的线程
2>:怎么样判断ActionServlet是线程安全的
II.ValueStack里面放的是什么,它是如何产生的,作用范围是什么
...全文
123
8
打赏
收藏
struts2中的valueStack和ActionContext
I.最近在学习struts2时看到ActionContext是线程安全的,关于这个线程有两个问题 1>:如何创建一个安全的线程 2>:怎么样判断ActionServlet是线程安全的 II.ValueStack里面放的是什么,它是如何产生的,作用范围是什么
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
redlotus_lyn
2010-05-14
打赏
举报
回复
就是ActionContext
jackaudrey
2010-05-14
打赏
举报
回复
我用<s:debug/>打印出了连个stack出来,分别是:Value Stack Contents和Stack Context,那么这个事stack context又是什么东西啊
redlotus_lyn
2010-05-14
打赏
举报
回复
I.
struts2每次请求都会创建ActionContext。是struts2自己创建的。
II.
ValueStack是值栈,里面存放属性。在画面上使用<s:debug />标签能看到具体内容。
ActionContext包括:
1>.application
2>.session
3>.valueStack
4>.request
5>.parameters
6>.attr
jackaudrey
2010-05-14
打赏
举报
回复
刚用了一个struts2的标签:<s:set var="admin" value="'username'">它的范围是request和actionContext,结果用两种方式来输出
从request范围来输出:<s:property value="#request.admin"/>
从actionContext范围来输出:<s:property value="#admin">
结果两者输出都是:username
现在的问题是这个变量admin到底是在什么范围之内,我用<s:debug/>看到的是在actonContext中没有admin这个变量,当然request里面有
admin这个变量到底是怎么回事?
jackaudrey
2010-05-14
打赏
举报
回复
哥们,受益匪浅
redlotus_lyn
2010-05-14
打赏
举报
回复
1>.parameters
URL:http://localhost:8080/Test/test.action?id=10
在test请求转发的jsp页面上
<s:property value="#parameters.id">
结果显示10
2>.attr
从page>request>session>application范围内查找属性。
找到为止
<s:property value="#attr.name">
jackaudrey
2010-05-14
打赏
举报
回复
还有那个attr和parameters这两个对象代有什么区别
jackaudrey
2010-05-14
打赏
举报
回复
看了一些资料说valueStack好比是一个传送带,在同一个请求的过滤器中能拿到valueStack中的内容,不明白所说的过滤器是什么
struts学习笔记(3)
12.
action
向页面传值 向页面传值可以使用
struts2
中
特有的两个类的对象 com.opensymphony.xwork2.
Action
Context
和com.opensymphony.xwork2.util.
Value
Stack
1)
Value
Stack
和
Action
Context
的作用: 当客户端向
action
发送请求并且最后跳转到另外一个页面的时候,在跳转的同时,
struts2
框架会帮我们自动把需要传到页面的值放这两个对象当
中
去,然后我们在页面就可以使用固定的方式把值从这个两个对象里面取出来了。 注意:我们可以手动的向这两个对象里面放入要传的值,我们也让
struts2
框架自动把值放进这两个对象里面,但是这个时候这些要传的值需要满足一定的要求。
linjin101#javaStudy#
Struts2
中
的OGNL和值栈
Value
Stack
1
1、什么是值栈 2、值栈的内部结构 3、
Action
Context
和
Value
Statck的关系 4、如何获取值栈对象 5、向值栈存数据 6、从值栈
中
获取数据
OGNL表达式语言.txt
OGNL表达式语言: 相对EL表达式,它提供了平时我们需要的一些功能,如: ? 支持对象的方法调用 ,如 xxx.sayHello(); ? 支持类静态方法调用和值的访问,表达式的格式为@[类全名]@[方法名|值名],例如:@java.lang.String@format(‘foo %s’,’bar’) ? 操作集合对象。 Ognl有一个上下文(
Context
)的概念,其实就是一个Map结构,它实现了java.utils.Map接口,
Struts2
中
的上下文的实现为
Action
Context
。 结构图: 当
Struts2
接受一个请求时,会迅速创建
Action
Context
,
Value
Stack
,
action
。然后把
action
放进
Value
Stack
,所以
action
的实例变量可以被OGNL访问。 访问上下文
中
的对象需要使用#符号标注命名空间,如#application、#session 另外OGNL会设定一个根对象(root对象),在
Struts2
中
根对象是
Value
Stack
。 如果访问根对象
中
的对象的属性,则可以省略#命名空间。
精讲
Struts2
精简全面讲解Struts 2.0
Struts2
产生背景 工作原理 实现步骤 标签 命名空间 转换器 国际化 输出 令牌机制 拦截器 表单校验(jQuery.validate验证框架) 上传 下载 OGNL(
Action
Context
Stack
Context
Value
Stack
区别)
Struts2
源码分析之ParametersInterceptor拦截器
主要介绍了
Struts2
源码分析之ParametersInterceptor拦截器,ParametersInterceptor拦截器其主要功能是把
Action
Context
中
的请求参数设置到
Value
Stack
中
,,需要的朋友可以参考下
Java EE
67,515
社区成员
225,878
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章