Struts2学习笔记03
来源:互联网 发布:js return 多个值 编辑:程序博客网 时间:2024/06/06 11:18
1. Action组件的相关使用
1. Action组件的原理
i. 客户发出action请求给struts控制器
ii. Struts控制器会首先创建valuestack对象
iii. Struts控制器根据请求创建action对象,并且将action对象压入valuestack的root栈顶(Action线性安全,不用考虑并发问题)
iv. Struts控制器将请求相关的request,session对象放入到valuestack的context区域
v. Struts控制器执行action对象的execute方法处理请求
vi. Struts控制器根据execute结果生成响应信息输出
vii. 请求处理完毕,销毁valuestack和action对象
2. *Action中如何使用session,request
i. 利用ActionContext和ServletActionContext工具类
1. ActionContext可以获取action对象中常用的session,request,application等对象,通过ActionContext获取的均是struts框架封装称MAP类型的对象。
2. ServletActionContext返回的是Servlet中使用的request,session,application原有类型。
3. 使用建议:存值取值建议使用Map结构API,如果有特殊需求再采用Servlet原有类型
ii. 利用Aware接口方式注入(推荐)—编写一个类base,继承Aware接口,调用的时候通过继承base,从而灵活调用Aware里的方法。
1. RequestAware对应的是Map结构的Request
2. SessionAware对应的Map结构的session
3. ApplicationAware对应的是Map结构的Application
4. ServletRequestAware 对应的是HttpRequestAware
5. ServletResponseAware 对应的是HttpResponseAware
6. ServletApplicationAware对应的是HttpApplicationAware
建议:Action使用时采用Aware方式,Action之外使用时,采用ActionContext;
Aware的包装模式:
----如何将原有HttpSession封装成Map------
publicclass SessionMap extends AbstractMap{
private HttpSession session;
public SessionMap(HttpSession session){
this.session = session;
}
public void put(Object key,Object val){
session.setAttribute(key,val);
}
public Object get(Object key){
session.getAttribute(key);
}
}
3. Action属性注入
i. 在<action>配置中,为Action对象的属性指定初始值使用格式如下
<actionname=”feelist” class=”org.action.FeeListAction”>
<pramaname=”属性名”>属性值</prama>
(备注:创建Action对象时,指定给属性的值)
<result></result>
4. Action通配符配置
i. 在<actionname=”action_*” method=”{1}” class=”a.action”
*代表0到多个字符,也可以有若干个*,例如一个请求为:action_add,则*代表add,就会自动调用a.action里的对应方法。不过要保证a.action里存在相同的方法名,否则会调用失败。
i. Result组件的使用
5. Result组件原理
Result组件的作用
i. Result组件负责生成响应视图内容。
ii. Struts2框架提供了多种不同的result组件类型,用于做不同形式的响应。例如json数据响应,流数据响应,jsp响应等。
Result组件相关配置
results声明定义
a) result-types name=”result类型” class=“Result组件实现类”/>
Result使用定义
<action>
<resultname=”标示符”
type=”result类型”></result>
</action>
i. 掌握经常使用的Result组件
1. JSP视图
a) Dispatcher(默认):以转发方式调用JSP
b) Redirect: 以重定向方式调用JSP
2. Action视图
a) Chain:以转发方式调用下一个Action
b) Redirect:以重定向方式调用下一个Action
- Struts2 学习笔记03
- Struts2学习笔记03
- Struts2学习笔记-03
- Struts2 学习笔记03 Action
- struts2框架学习笔记03
- struts2学习笔记--struts2配置
- Struts2学习笔记--安装struts2
- struts2学习笔记——03
- struts2.01学习笔记
- struts2学习笔记
- Struts2学习笔记1
- struts2.0 学习笔记
- struts2.01学习笔记!
- struts2学习笔记
- Struts2学习笔记1
- struts2 学习笔记
- Struts2学习笔记(1)
- struts2学习笔记(2)
- 树、森林和二叉树的转换
- 安装fedora18到win8上
- InputStream 、 InputStreamReader 、 BufferedReader
- TP重写模式
- spdylay 0.3.7 发布,SPDY 的 C 语言实现
- Struts2学习笔记03
- ORACLE 分析函数
- CPU处理器架构
- 解决gdb在mac下面签名错误
- 自创的C语言枚举字符串算法
- Ubuntu Apache的安装和配置以及CGI的设置
- socket编程步骤
- 【Android 开发】:UI控件之开关状态按钮 ToggleButton 的使用方法
- Ubuntu安装mod_python