ognl与struts2结合

1、结合原理

context其实就是ActionContext数据中心,root是一个栈,遵循先进先出的原则,ValueStack中root的实现,使用的是list:

2、使用Debug标签看值栈中的内容

先在jsp页面导入标签库,然后写入:

<s:debug></s:debug>

然后,先访问一个action,然后转发到该页面(因为ValueStack的周期。。。)

Root:

默认情况下,栈中放放置当前访问的Action对象

Context:

Action中放置了:

3、ognl与接收参数

struts2接受参数其实就是把key-value放入valueStack的root中,利用ognl的赋值方式

如何获得值栈对象,值栈对象与ActionContext对象是互相引用的

通过ActionContext获得ValueStack

ValueStack valueStack = ActionContext.getContext().getValueStack();

4、配置文件中使用ognl

如果struts2中重定向是需要传递参数的时候,可以在result中配置param参数

参数可以是动态的:语法:${ognl表达式}

<action name="confi" class="club.ityuchao.ognlStruts.OgnlConfi" method="execute">
	<result name="success" type="redirectAction">
		<param name="actionName">debugEle</param>
		<param name="namespace">/</param>
		<!-- <param name="name">tom</param> -->
		<param name="name">${name}</param>
	</result>
</action>

5、request中getAttribute方法

struts2重写getAttribute后,该方法查顺序为:

  1. 原生request域
  2. valueStack的栈(root)部分
  3. valueStack的context部分(ActionContext数据中心)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值