struts2 值栈的内部结构
2018-06-04 本文已影响0人
小漫画ing
1 、值栈分为两部分:
第一部分root,结构是list集合。
(1)、一般操作都是root里面数据。
list
第二部分context,结构是map集合
map
2、struts2里面标签s:debug,使用这个标签可以查看值栈结构和存储值。
(1)访问action,执行action的方法有返回值,配置返回值到jsp页面中,在jsp页面中使用这个标签。接下来通过代码来看看如何实现:
- 首先和之前一样,需要一个action对象:
package com.manman.xm;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.util.ValueStack;
public class ValueStackDemoAction extends ActionSupport {
@Override
public String execute() throws Exception {
return "success";
}
}
这个过程没有任何数据,只是有一个返回值,目的在于去看看debug标签的结构。
- 接下来就是配置struts.xml:
<action name="valueStackDemo1" class="com.manman.xm.ValueStackDemoAction">
<result name="success">/value.jsp</result>
</action>
- 跳转页面的代码如下:
<body>
<!-- 使用struts标签查看值栈结构 -->
<s:debug></s:debug>
既然debug是一个标签,并且要是用这个标签,那么我们肯定需要引入标签库:
<%@ taglib uri="/struts-tags" prefix="s" %>
好了,基本的配置已经做好了,那我们来看看运行结果如下:
image.png
点击超链接可以看到结构:
链接内容
( 2)在action没有做任何操作,栈顶元素是:
image.png
- 在action对象里面有值栈对象
- 值栈对象里面有action引用。