Java EE SSH框架之Struts2(3)—— 结果跳转方式和访问ServletAPI方式
2018-03-28 21:17
405 查看
一、结果跳转方式
《1》转发(地址栏不会变)ServletDispatcherResult类
例:
ActionDemo1.java
package com.zl.action;
import com.opensymphony.xwork2.ActionSupport;
public class ActionDemo1 extends ActionSupport{
@Override
public String execute() throws Exception {
return SUCCESS;
}
}struts.xml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="result" namespace="/" extends="struts-default">
<action name="ActionDemo1" class="com.zl.action.ActionDemo1" method="execute">
<result name="success" type="dispatcher">/index.jsp</result>
</action>
</package>
</struts>
《2》重定向(地址栏会发生变化)
ServletRedirectResult类
ActionDemo2.java同ActionDemo1.java,不再重复。
struts.xml中将上述struts.xml中的result元素的type属性值改为redirect即可。
《3》转发到Action(地址栏不会变)
<action name="ActionDemo3" class="com.zl.action.ActionDemo3" method="execute">
<result name="success" type="chain">
<param name="actionName">ActionDemo1</param> <!--跳转到ActionDemo1-->
<param name="namespace">/</param>
</result>
</action>
《4》重定向到Action(地址栏会发生变化)(常用)
<action name="ActionDemo4" class="com.zl.action.ActionDemo4" method="execute">
<result name="success" type="redirectAction">
<param name="actionName">ActionDemo1</param> <!--跳转到ActionDemo1-->
<param name="namespace">/</param>
</result>
</action>
二、Struts2访问ServletAPI
原理:有以下三种方式:
《1》通过ActionContext(重点)//request域=>map(Struts2并不推荐使用原生request域)
Map<String,Object> requestScope = ActionContext.getContext().getRequest();
ActionContext.getContext().put("name","requestTom");//推荐
//session域=>map
Map<String,Object> sessionScope = ActionContext.getContext().getSession();
sessionScope.put("name","sessionTom");
//application域=>map
Map<String,Object> applicationScope = ActionContext.getContext().getApplication()
applicationScope.put("name","applicationTom");
《2》通过ServletActionContext(不推荐,因为Struts的理念就是要脱离Servlet)//原生的request
HttpServletRequest request = ServletActionContext.getRequest();
//原生的session
HttpSession session = request.getSession();
//原生的response
HttpServletResponse response = ServletActionContext.getResponse();
//原生的ServletContext
ServletContext servletContext = ServletActionContext.getServletContext();
《3》实现接口...Aware
相关文章推荐
- JAVAEE学习——struts2_02:结果跳转方式、访问servletAPI方式、获得参数以及封装、练习:添加客户
- Struts2访问ServletAPI的三种方式,以及使用推荐对比
- Java EE SSH框架之Struts2 (2)—— Struts2访问流程、架构及配置
- Struts2学习(四)【结果跳转方式】
- Struts2中访问ServletAPI的四种方式
- Struts2的Action访问ServletAPI的方式
- Struts2学习(五)【访问servletAPI方式】
- Struts2的Action中访问servletAPI方式
- struts2访问servletAPI的几种方式
- Struts2访问ServletAPI的三种方式
- Java EE SSH框架之Struts2 (4)—— Struts2参数获取方式
- 关于使用struts2跳转后css和js失效的解决方式
- ssh框架总结action接收参数的三种方式页面访问的方式
- Struts2中action重定向跳转到jsp页面两种配置方式带参数
- Struts2中访问web元素的四种方式及前台jsp页面获取后台值的方式
- 访问Struts2中的自定义方法的几种方式
- SpringMVC 跳转结果的方式.练习笔记
- Spring MVC结果跳转方式
- struts2中,action访问servlet api的两种方式
- Struts2-4.Struts2访问Servlet API的三种方式