首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Struts1 Action 之間跳轉與參數傳遞實現方法

     編輯:程式設計綜合問答

問題描述

在 Struts1 框架中,需要從一個 Action 跳轉到另一個 Action 並傳遞參數,限制條件:不使用 JavaScript,不在前端頁面傳參,必須在後台 Java 代碼中完成參數傳遞。

核心解決方案

利用 HttpServletRequest 的請求域(Request Scope)屬性傳遞數據。

具體步驟

// 在源 Action 中
request.setAttribute("paramName", paramValue);
// 配置 struts-config.xml 中的 forward 為另一個 Action 的路徑
return mapping.findForward("targetAction");

// 在目標 Action 中
String value = (String) request.getAttribute("paramName");

原理解析

Struts1 的 ActionForward 默認使用 RequestDispatcher.forward() 進行服務器端轉發,此過程中請求對象(request)保持不變,因此在源 Action 中設置的屬性在目標 Action 中可直接獲取。這符合「後台傳參、無前端參與」的需求。

注意事項

  • 若需重定向(redirect),請求域數據會丟失,應改用 Session 域或在 URL 後拼接參數(但違背「不在頁面傳參」原則)。
  • 參數名稱建議加項目前綴避免衝突。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved