1. 程式人生 > >struts之Action中獲取request、response物件的方法

struts之Action中獲取request、response物件的方法

1、訪問或新增request/session/application屬性

public String scope() throws Exception{

    ActionContext ctx = ActionContext.getContext();

    ctx.getApplication().put("app", "應用範圍");//往ServletContext裡放入app

    ctx.getSession().put("ses", "session範圍");//往session裡放入ses

    ctx.put("req", "request範圍");//往request裡放入req

    return "scope";

}

JSP:

<body>

    ${applicationScope.app} <br>

    ${sessionScope.ses}<br>

    ${requestScope.req}<br>

</body>

2、獲取HttpServletRequest/HttpSession/ServletContext/HttpServletResponse物件

方法一、通過ServletActionContext類直接獲取:

public String rsa() throws Exception{

    HttpServletRequest request = ServletActionContext.getRequest();

    ServletContext servletContext = ServletActionContext.getServletContext();

    request.getSession();

    HttpServletResponse response = ServletActionContext.getResponse();

     return "scope";

}

方法二、實現指定介面,由struts框架執行時注入:

public class HelloWorldAction implements ServletRequestAware, ServletResponseAware, ServletContextAware{

    private HttpServletRequest request;

    private ServletContext servletContext;

    private HttpServletResponse response;

    public void setServletRequest(HttpServletRequest req) {

        this.request=req;

    }

    public void setServletResponse(HttpServletResponse res) {

        this.response=res;

    }

    public void setServletContext(ServletContext ser) {

        this.servletContext=ser;

    }

}

程式碼

複製程式碼 package com.ljq.action;

import java.util.Arrays;

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

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionContext;

publicclass HelloWorldAction {

//在頁面中採用以下el表示式輸出
//第一種
//${applicationScope.app} 
//${sessionScope.ses}
//${requestScope.req}
//第二種
//${app} 
//${ses}
//${req}public String list() {
ActionContext ctx 
= ActionContext.getContext();
ctx.getApplication().put(
"app""應用範圍");// 往ServletContext裡放入applicationctx.getSession().put("ses""session範圍");// 往session裡放入sessionctx.put("req""request範圍");// 往request裡放入requestctx.put("names", Arrays.asList("張三""李四""王五"));
return"message";
}

//在頁面中採用以下el表示式輸出
//第一種
//${applicationScope.app} 
//${sessionScope.ses}
//${requestScope.req}
//第二種
//${app} 
//${ses}
//${req}public String get() throws Exception {
HttpServletRequest request 
= ServletActionContext.getRequest();
ServletContext servletContext 
= ServletActionContext.getServletContext();
request.setAttribute(
"req""請求範圍屬性");
request.getSession().setAttribute(
"ses""會話範圍屬性");
servletContext.setAttribute(
"app""應用範圍屬性");
// HttpServletResponse response = ServletActionContext.getResponse();return"message";
}
}




jsp程式碼
${applicationScope.app} 
<br>
${sessionScope.ses}
<br>
${requestScope.req}
<br>===========<br/>
${app} 
<br>
${ses}
<br>
${req}
<br>===========<br/><c:forEach items="${names}" var="name">
${name }
<br/></c:forEach>

相關推薦

strutsAction獲取requestresponse物件方法

1、訪問或新增request/session/application屬性 public String scope() throws Exception{     ActionContext ctx = ActionContext.getContext();    

怎樣在struts2的Action獲取requestresponsesession物件

使用習慣servlet技術之後, 在進行後臺操作的時候通常會用到 request、response、session這些伺服器物件, request 通常用來接收前臺傳來的引數, 在 struts 中通常都用自動注入的方式解決, respone 是後臺處理

SpringMvc4獲取requestresponse物件方法

springMVC4中獲取request和response物件有以下兩種簡單易用的方法: 1、在control層獲取 在control層中獲取HttpServletRequest和HttpServle

struts2在action獲取requestsessionapplication,並傳遞數據

ride b2c 傳遞 sets content context 分享 https fcm 假設僅僅是通過request、session、application傳遞數據,則不須要獲取對應的對象也能夠傳遞數據,代碼例如以下: ScopeAction.java: packa

AOP日誌:aspect獲取requestresponse方法

RequestAttributes ra = RequestContextHolder.getRequestAttributes(); ServletRequestAttributes sra = (ServletRequestAttributes)ra; HttpServletRequest re

struts2 action獲取request session application的方法

lang ext his aware login attribute 定位 統一 ati 共四種方式: 其中前兩種得到的是Map<String,Object> 後兩種得到的才是真正的request對象 而Map就是把request對象中的屬性取出做成了鍵值對

ASP.NETRequestResponseServer對象

.html languages asa 地址欄 判斷 nsf 一次 服務 tco Request對象 Response.Write(Request.ApplicationPath) //應用根路徑Request.AppRelativeCurrentExecutionFile

ssm框架獲取requestresponse

根據 屬性 使用 兩個 framework 容器 resp private ssm 有時候需要在Controller、service中使用HttpServletRequest或HttpServletResponse對象,這裏記下3種方法 1.直接在Controller接

spring MVC獲取requestresponse:

log clas pos stc body stat response ons style spring MVC中獲取request和response: HttpServletRequest request = ((ServletRequestAttributes)

SpringBoot方法獲取RequestResponse

很多時候方法中沒有帶引數HttpServletRequest 和HttpServletResponse ,但是我們需要用到這個引數。 場景: 我們將使用者的登陸資訊存入了redis以token作為Key,在某些地方需要獲取使用者資訊,我們就需要獲取請求頭中的token。

spring獲取requestresponse

在spring專案中,我們通常有幾種方法可以獲取request物件,1直接引數獲取 @RequestMapping("/path") public String getReqAndRes(HttpServletRequest request, HttpServlet

requestresponse物件

request request概述: request是Servlet.service()方法的一個引數,型別為javax.servlet.http.HttpServletRequest。在客戶端發出每個請求時,伺服器都會建立一個request物件,並把請求資料封裝到requ

Struts2獲取request,session,application物件

在傳統的Web開發中,經常會用到Servlet API中的HttpServletRequest、HttpSession和ServletContext。Struts 2框架讓我們可以直接訪問和設定action及模型物件的資料,這降低了對HttpServletRequest物件的

Spring 獲取 request 的幾種方法,及其線程安全性分析

變種 bject input sta cli 方法參數 一律 內存空間 足夠 概述在使用Spring MVC開發Web系統時,經常需要在處理請求時使用request對象,比如獲取客戶端ip地址、請求的url、header中的屬性(如cookie、授權信息)、body中的數據

ServletrequestresponseServletContext 及其常用方法

request物件的類是HttpServletRequest request的常見方法: request.getRequestURL(): 瀏覽器發出請求時的完整URL,包括協議 主機名 埠(如果有)request.getRequestURI(): 瀏覽器發出請求的資源名部分,去掉了協議和主機名reque

C#webclient(httpRequestResponsepostget)在winform的使用

題外話::04年到07年搞了四年多的C#,突然發現,居然還能撿起來解決客戶的需求,很是欣喜,裝了VS2010,突然又喜歡上了用C#寫東西。前段時間用C#寫了一個通過SAP 呼叫codeproject的中介軟體,最近打算利用業餘時間用C#寫一個SAP與外部系統介面的EDI系統,

在filter使用包裝類包裝requestresponse分別修改請求引數和修改響應結果

工作需要,要將請求和響應做一些處理,使得瀏覽器展示結果可控。 首先是在filter中攔截一些請求,請求到達過濾器的時候,可以通過request獲取請求中的一些引數。這時候,你可以修改資料中的一部分,然後,讓過濾器放行。但是,執行中就發現問題了,整個請求直接400了。剛開始,

在springmvc通過過濾器獲取requestresponse

搭建頁面我就不詳細的說了,只是簡單的把要配置檔案說一下 主要配置beans.xml檔案和 spring-servlet.xml檔案 beans.xml <bean id="timeBasedAccessInterceptor" class

struts2的Action使用requestresponse等Servlet API__方法

struts2的Action拋棄了request、response等Servlet API,使業務層更加獨立,但有時需要使用request、response,可以利用Aware介面,servlet API中常用物件application、request、response、Se

如何在類獲取request,和網站路徑

div ner nbsp stc cnblogs java sharp val request @RequestMapping(value = "res/testjs") public ModelAndView testjs( ModelMap model ) th