struts2_1
来源:互联网 发布:prize软件优势 编辑:程序博客网 时间:2024/05/26 08:42
<一>Action访问ServletAPI
1、ActionContext类
ActionContext.getContext().get("");//类似于Request的getAttribute()方法
ActionContext.getContext().getSession();//返回一个map对象,模拟了HttpSession实例
ActionContext.getContext().getApplication();//返回一个map对象,模拟了ServletContext()
ActionContext.getContext();//获取ActionContext
ActionContext.getContext().getParameters();//获取所有的请求参数,类似于HttpServletRequest对象的getParameterMap()
ActionContext.getContext().setApplication(Map application);
ActionContext.getContext().setSession(Map session);
2、Action直接访问ServletAPI
实现接口,重写方法,获得实例
ServletContextAware->ServletContext setServletContext(ServletContext context)
ServletRequestAware->HttpServletRequest setServletRequest(HttpServletRequest request)
ServletResponseAware->HttpServletResponse setServletResponse(HttpServletResponse response)
3、使用ServletActionContext访问ServletAPI
ServletActionContext工具类提供了一系列静态方法
static PageContext getPageContext()->PageContext
static HttpServletRequest getRequest()->HttpServletRequest
static HttpServletResponse getResponse()->HttpServletResponse
static ServletCOntext getServletContext()->ServletContext()
<二>配置action
1、<package.../>
name:必要属性,指定包名,是其他包引用的key
extends:继承其他包
namespace:可选属性,无时默认命名空间
....namespace="/"指定根命名空间,请求为/XX/XX.action,先找XX.action,木有找默认命名空间
abstract:可选属性,指定该包为抽象包,不含action
默认第一个包配置:
<package name="default" extends="struts-default"></package>
....struts-defalut为父包->struts2-core-2.2.jar->struts-defalut.xml
2、<action.../>逻辑控制器->指定的视图资源传递给客户(配置逻辑视图和物理视图间映射)
name:即是action名,也指定action所处理的请求
class:指定action的实现类(类反射),无时,默认ActionSupport类
method:action调用指定方法,无时,默认execute()方法
2.1、子元素:<result...>/XX.jsp</result>
2.2、action的动态方法调用
DMI(Dynamic Method Invocation)
action属性为actionName!methodName的形式(actionName为提交到哪个Action,methodName指定提交到的指定方法)
2.3、默认配置action,无对应action时,默认action处理用户请求,可以处理如何命名空间的请求
....默认Action为simpleViewResultAction
<default-action-ref name="simpleViewResultAction"/>
....通过action元素配置默认Action
<action name="simpleViewResultAction" class="lee.SimpleViewResultAction">
<result...></result>
</action>
2.4、配置action默认的处理类
....默认class="ActionSupport"
....开发者自定义<default-class-ref.../>,属性class
<default-class-ref class="com.opensymphony.xwork2.ActionSupport"/>
3、配置处理结果(逻辑视图名与物理视图资源间映射关系)
3.1、Action处理用户请求->返回一个逻辑视图(普通字符串)->struts2接受逻辑视图->转发->视图资源(将处理结果呈献给客户)
3.2、逻辑视图,普通字符串,有利于Action2与Struts2框架分离,提高代码复用性
3.3、多种结果映射,JSP、FreeMaker、Action(链式处理)
4、配置结果
4.1、<result.../>局部结果、全局结果
name:默认SUCCESS
type:默认dispatcher(用于与JSP整合的结果类型)
<param name="location">/XX.jsp</param> name->常见location/parse两个参数
5、Struts2支持的结果类型
JSP、Velocity、FreeMarker.etg结果类型->决定调用哪种视图资源呈现结果
结果类型->Struts.defalut.xml
所有类型的通用接口:ServletDispathcerResult
FreeMarker整合的结果类型:FreemarkerResult
控制特殊Http行为的结果类型:HttpHeaderResult
跳转到其他URL的结果类型:ServletRedirectResult
跳转到其他Action的结果类型:ServletActionRedirectResult
向浏览器返回InputStream的结果类型:StreamResult
用于整合Velocity的结果类型:VelocityResult
用于整合XML/XSLT的结果类型:XSTLResult
用于显示某个页面原始代码的结果类型:PlainTextResult
10-9-29
11-3-20
11-6-20
11-9-20
11-12-20
12-3-20
12-6-20
12-12-20
13-4-3
- struts2_1
- struts2_1
- struts2_1学习笔记
- struts2_1:strust2的设计模式
- java 浮点型加减乘除精确计算
- hdoj.2009 求数列的和 20140724
- AJAX
- POJ 1094 Sorting It All Out(拓扑排序)
- html img src 相对路径和绝对路径
- struts2_1
- Devexpress GridControl单元格模板之绑定
- 如何给WORD文档加密码
- 在页面中,我们经常看到,一个button按钮,如果属标点击,就会触发一个窗口的显示,如果二次点击并可以隐藏,那么如何通过JAVA配合html来实现这一功能呢?
- Struts高级开发(章节摘要)
- 你知道几个安卓较冷门功能技巧
- struts2_404
- 获取当前程序版本号
- 循环队列的基本操作