springmvc請求一次,訪問多個controller中的方法
有一個需求:請求一次,訪問多個controller中的方法
比如:先執行查詢操作,再將查詢出來的內容更新(當然也可以將方法寫到bo中,在controller中直接呼叫bo的方法,這裡只是舉個例子)
舉例:
JSP頁面
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>在一個action中執行兩個方法</title> </head> <body> 1 哈哈 7000 <a href="${pageContext.request.contextPath}/emp/find?id=1" style="text-decoration:none">編輯</a> </body> </html>
Controller頁面
@Controller @RequestMapping("/emp") public class EmpAction { @RequestMapping(value="/find") public String findEmpById(int id) throws Exception{ System.out.println("查詢"+id+"號員工資訊"); //轉發到EmpAction的另一個方法中去,即再次傳送請求 // return "forward:/emp/update"; //重定向到EmpAction的另一個方法中去,即再次傳送請求 return "redirect:/emp/update.action?id=" + id; } @RequestMapping(value="/update") public String updateEmpById(int id,Model model) throws Exception{ System.out.println("更新" + id +"號員工資訊"); model.addAttribute("message","更新員工資訊成功"); return "success"; } }
結論:
1. ModelAndView並不能實現兩個方法之間的資料傳遞;
2. 可以通過Session來進行傳遞。
有多種方法可以實現Session傳遞
方法1:將HttpServletRequest作為方法形參 通過request.getSession().addAttribute
方法2:將HttpSession作為方法形參
方法3:通過@[email protected]來進行傳遞
使用HttpSession來存取資料,不過這樣又在springmvc中使用了servlet的內容,並不好
3. 使用轉發。在轉發情況下,共享request域物件,會將引數從第一個業務控制方法傳入第二個業務控制方法
return"forward:/emp/update.action";
4. 重定向不共享引數,所以要帶引數才行
return "redirect:/emp/update.action?id="+ id;
相關推薦
springmvc請求一次,訪問多個controller中的方法
有一個需求:請求一次,訪問多個controller中的方法 比如:先執行查詢操作,再將查詢出來的內容更新(當然也可以將方法寫到bo中,在controller中直接呼叫bo的方法,這裡只是舉個例子) 舉例: JSP頁面 <%@ page contentType="t
C#實現類只例項化一次(被多個類訪問呼叫)
C#簡單寫法如下: public class Singleton { private static Singleton _instance = n
使用jquery進行事件繫結,點選一次,傳送兩個請求,並且以後次數翻倍
出現的問題:使用jquery進行事件繫結,點選一次,執行兩次點選事件,並且在不重新整理頁面的時候,點選第三次的時候會執行四次,並且以後次數會進行翻倍。問題的原因:用jquery繫結一個click事件,jquery中並不是替換原因的function,而是接著新增。解決此問題的方
mkdir一次創建多個目錄
size sha color 承載 ima 技術分享 系統 term ext 系統管理員必用的十大基礎之一也可以這樣連貫起來一次性創建.... 其中的知識點其實就是花括號{}{};可承載一個以逗號(,)分割的列表,並將其展開為多個列表。。。。有個知識點 展開命令行~USER
如何在 Linux 中一次重新命名多個檔案
你可能已經知道,我們使用 mv 命令在類 Unix 作業系統中重新命名或者移動檔案和目錄。 但是,mv 命令不支援一次重新命名多個檔案。 不用擔心。 在本教程中,我們將學習使用 Linux 中的 mmv 命令一次重新命名多個檔案。 此命令用於在類 Unix 作業系統中使用標準萬用字元批量移動、複製、追加和重新
readv writev 簡介 一次讀寫多個緩衝區
一個小例子說明函式使用: 結構說明: struct iovec { void * iov_base //緩衝區地址 size_t iov_len //緩衝區輸入/輸出長度 } #include "util.h" #include <sys/u
Centos 一次卸載多個RPM包
clas 不支持 rpm -e 變量 bsp ffffff courier mar 多個 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Courier; color: #000000; background-col
asp.net 中一次上傳多個檔案
看到一篇老外的文章,說在asp.net 中,如何先讓使用者把要上傳的檔案都選好了,然後一次上傳,今小結如下首先在頁面加一個上傳檔案控制元件,一個“attach"按鈕,一個listbox,用來存放等待上傳的檔名,一個"UPLOAD"按鈕,一個”刪除按鈕 <form
移動端一次上傳多個圖片(動態建立file型別的input)
描述 最近在做公司的一個移動端上傳圖片的業務,如果這是在PC端,將非常的簡單,因為給input設定屬性multiple後PC端按住ctrl鍵就可以一次性選擇多個圖片,但是在移動端確不可以,移動端選擇一張圖片後會自動返回到APP中,想再新增一張的話還需要再次進入
C#程式在一個終端中只允許開啟一次,防止多次開啟
using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; names
slurm作業管理:一次提交執行多個任務
針對搶佔式的作業排程系統,如果分配節點時候是獨佔節點,那麼每次申請的資源最少就是1個節點。如何實現一次提交作業,計算多個任務呢?(包括序列、openmp或mpi的任務)。最簡單的方式就是按照自己的需求寫一個執行指令碼,然後通過作業管理系統提交即可。下面給出一個具
19道Python循環遍歷,while,for語句測試題,網上看到的題目,自己不看答案全部做了一次,總共3個小時左右
對稱 乘法 次數 輸入 一半 r語 整除 回文數 同時 # 1. 輸出10行內容,每行的內容都是“*****”。for i in range(0,10): for j in range(0,10): print("*",end="
使用一條sql查詢多個表中的記錄數
nbsp lec sel code spa select bold style 查詢 方法一: select t1.num1,t2.num2,t3.num3 from (select count(*) num1 from table1) t1, (se
一條sql刪除多個表中的資料
DELETE a.*, b.* FROM domain_project_tbl b RIGHT JOIN project_tbl a ON a.sn = b.project_sn WHERE a.name = '' AND a.is_del !=1 DELIMITER $ C
android實現登入一次,之後不需要登入的方法token,session,sharedpreference
token生成器 token生成器在這裡使用了一個隨機數來實現,即隨機生成一個數字,即實現token生成,如下所示: private static final Random random = new Random(System.currentTimeMillis()); public static final
Linux下vsftp建立單使用者訪問多個目錄的方法
vsftp作為FTP服務,建立單使用者訪問多個目錄的方法 需求:公司在內網有一臺許可權認證伺服器,用於做安全功能、滲透的驗證。接入的專案比較多,經常有專案組需要取日誌定位問題,日誌分散在三個不同的目錄,需要實時的獲得日誌。思路是想建一個FTP賬號,同時有
JAVA使用HBase根據Rowkey批量查詢資料(一次查多條,返回多個記錄)
最近有需求說是根據多個RowKey返回結果集: public static Configuration conf = null; public static Connection connection = null; public static Admin admin = nul
mysql一次查詢,返回多個統計結果
1.sum(if) select sum(if(status=1,1,0)) as s1_count, sum(if(status=2,1,0)) as s2_count from order;
hql語句一次比對查詢單表中多個字段
end nta 不能 ase color poll 存儲 pen ike 前端輸入客戶名稱,在使用hql查詢時,要同時比對表中,客戶名稱,客戶簡稱,拼音簡寫,客戶編碼等多個字段 hql寫法 String fdCustomerName=cv.poll("docMain.fdC
feign 發送請求時,傳多個參數時的寫法
method 接受 public ati -s state dna www. orm 第一:傳參方式寫法,當參數個數大於2個時,需要用@RequestParam @PostMapping(value = "/configReader/configValue.do",hea