Struts2 与Servlet API解耦的访问方式
1.使用ActionContext类获取Servlet API对象对应的Map对象
1 获取HttpServletRequest对应的Map对象
2 获取HttpSessiont对应的Map对象
3 获取ServletContext对应的Map对象
2.Struts2向Action注入Servlet API对象对应的Map对象
Struts与 Servlet API耦合的访问方式
3 与Servlet API耦合的访问方式
后台绑定数据
前台获取数据
Request.setAttribute(“放在服务器的名称”,”object集合”);
ServletActionContext.getRequest();//获取请求(响应)
1.绑定值到服务器 通过key值找到value[LoginAction ]
package com.lanou.entity;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
//包名小写 类名大写
public class LoginAction {
public String execute() {
HttpServletRequest request =ServletActionContext.getRequest();
//绑定值request
request.setAttribute("reqkey","reqvalue");
//绑定值session
request.getSession().setAttribute("seskey", "sesvalue");
//绑定值到Context[后台只要上下文]
ServletActionContext.getServletContext().setAttribute("appkey", "appvalue");
return "success";
}
}
2.前台获取获取【success.jsp】
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<head>
</head>
<body>
request对象:${request.reqkey}
session对象:${session.seskey}
<!--可以直接写application 因为是就打内置对象之一 -->
application对象:${application.appkey}
</body>
</html>