Struts2學(xué)習(xí)教程之Action類如何訪問WEB資源-創(chuàng)新互聯(lián)

前言

成都創(chuàng)新互聯(lián)公司專注于臨翔網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供臨翔營銷型網(wǎng)站建設(shè),臨翔網(wǎng)站制作、臨翔網(wǎng)頁設(shè)計、臨翔網(wǎng)站官網(wǎng)定制、微信小程序開發(fā)服務(wù),打造臨翔網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供臨翔網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

之前已經(jīng)給大家介紹了關(guān)于Struts2的入門教程,本文接著上次的內(nèi)容我繼續(xù)分享我所學(xué)到的知識,和自己在學(xué)習(xí)過程中所遇到問題以及解決方案。當(dāng)然,如果讀者發(fā)現(xiàn)任何問題均可以在下方評論告知我,先謝

在 Action 中訪問 WEB 資源


web 資源

所謂的 WEB 資源是指 HttpServletRequest、HttpServletResponse、ServletContext 等原生的 API,作為 B/S 應(yīng)用開發(fā)的 Controller 必須可以訪問 WEB 資源,比如向域?qū)ο笾凶x寫屬性等操作。


如何訪問 WEB 資源

和 ServletAPI 解耦的方式 : 為了避免與 ServletAPI 耦合在一起,方便 Action 做單元測試,Struts2 對 HttpServletRequest,HttpSession 和 ServletContext 進(jìn)行了封裝,構(gòu)造了 3 個 Map對象來替代這 3 個對象,在Action 中可以使用 HttpServletRequest,HttpServletSession,HttpServletContext 對應(yīng)的 Map 對象來保存和讀取數(shù)據(jù)


  • 使用 ActionContext(方法 1): ActionContext 是 Action 執(zhí)行的上下文對象,在 ActionContext 中保存了 Action 執(zhí)行所需要的所有對象,Parameters,request,session 等。如獲取 HttpSession 對應(yīng)的 Map 對象使用 public Map getSession() 方法,Context,Params 對應(yīng)的方法也一樣,但對于 request 需要使用 public Object get(Object key) 方法傳遞 request 參數(shù)實(shí)現(xiàn)
  • 實(shí)現(xiàn) XxxAware 接口(方法 2):比如實(shí)現(xiàn) RequestAware 接口并實(shí)現(xiàn)其 setRequest() 方法,這樣就可以在所有的 action 方法中去調(diào)用該 requestMap。

使用 ActionContext 獲取域?qū)ο蟮拇a演示


從 index.jsp 頁面發(fā)送請求到 showPage.jsp,并將該請求交由 Struts 的 Action 類ObjectAction.java 處理請求


在 ObjectAction.java 中由 ActionContext 獲取域?qū)ο蟛槠涮砑訉傩灾?,將請求轉(zhuǎn)發(fā)到 showPage.jsp


在 showPage.jsp 頁面我們可以獲取到各個域?qū)ο蟮闹?/p>

index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
 <title>Handle</title>
</head>
<body>
-- 傳遞 name 參數(shù),可以在 Action 類中由 Params 域?qū)ο螳@得其值,以測試 Params 域?qū)ο? <a href="showPage.action?name=bgZyy" rel="external nofollow" >Application</a>
</body>
</html>

文章標(biāo)題:Struts2學(xué)習(xí)教程之Action類如何訪問WEB資源-創(chuàng)新互聯(lián)
文章鏈接:http://muchs.cn/article30/dchppo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、營銷型網(wǎng)站建設(shè)、虛擬主機(jī)App設(shè)計、搜索引擎優(yōu)化、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)