struts2前后台传值汇总-(4)ServletRequestAware-http格式

阅读更多

后台调用ServletRequestAware和ServletContextAware两个接口,并实现他们的set方法,来和容器绑定。通过控制反转(IOC)传递参数,此方法还可以获取容器其他信息。

注意:取session时候还是需要从Request中获取。

package struts.test.action;

import java.sql.SQLException;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.util.ServletContextAware;

import com.opensymphony.xwork2.ActionSupport;

/**
 * 登录练习
 * @author zk
 *
 */
public class LoginAction extends ActionSupport implements ServletRequestAware,ServletContextAware{
	//获取request对象
	HttpServletRequest request1;
	HttpSession session1;
	ServletContext application1;
	
	@Override
	public String execute() throws Exception {
		session1 = request1.getSession();
		
		request1.setAttribute("req", "request1属性");
		session1.setAttribute("ses", "session1属性");
		application1.setAttribute("app", "application1属性");

 		 return SUCCESS;
 	}
	@Override
	public void setServletRequest(HttpServletRequest request1) {
		// TODO 自动生成的方法存根
		this.request1 = request1;
	}

	@Override
	public void setServletContext(ServletContext application1) {
		// TODO 自动生成的方法存根
		this.application1 = application1;
	}

}

 

前台2种方式获取(EL表达式和控制反转IOC)

<%@ page pageEncoding="UTF-8"%>     
<%@ taglib uri="/struts-tags" prefix="s" %>     
<%      
    String path = request.getContextPath();      
%>     
     
     
     
    

adminSuc

管理员页面

requset属性接受:
session属性接受:
application属性接受:

=============================

另外一种获取方法 :


requset属性接受:${requestScope.req}
session属性接受:${sessionScope.ses}
application属性接受:${applicationScope.app}


返回

 

  • struts2前后台传值汇总-(4)ServletRequestAware-http格式_第1张图片
  • 大小: 278 KB
  • 查看图片附件

你可能感兴趣的:(struts2前后台传值汇总-(4)ServletRequestAware-http格式)