JS中獲取jsp頁面從後臺設定在request中的引數資訊
阿新 • • 發佈:2018-12-17
- 需求:很多情況下,我們會在當前介面A選擇資料,然後點選按鈕跳轉至新的頁面B,在新的頁面中B需要根據前一個介面A中選擇的資料,而且我們傳送請求通常是通過JS程式碼。
- 分析:
- A介面跳轉至B介面,如何將資料傳過去呢?
- A介面選擇的資料已傳至B介面,怎麼在JS中獲取到呢?
-
解決方法:
-
首先A介面中選擇的資料在點選按鈕時,將引數傳至後臺(這是點選按鈕後,通過conntroller跳轉頁面的方法):
@RequestMapping("toView") public String toView(){ String param = request.getParameter("param"); request.setAttribute("param", param); return "page/xxxxx"; }
後續跟進的問題:瞭解頁面的分發機制,即controller與jsp等頁面的分發原理;
-
在B介面中獲取後臺返回的引數資訊(例子為jsp頁面):
<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <% String param = (String)request.getAttribute("param"); %> <script type="text/javascript" src="/js/xxxx.js"></script> </head> <body> <input type="hidden" id="idTest" value="<%=param%>"> </body>
後續跟進的問題:瞭解jsp內建物件的作用域;
-
在JS頁面中獲取引數(即在xxxx.js中獲取):
// 在函式外獲取到的為nudifined的 var id = $("#idTest").val(); $(document).ready(function (){ // 在函式中是可以獲取到的 id = $("#idTest").val(); alert(id); }
後續跟進的問題:瞭解jsp等模板頁面引入js後的處理原理;
寫在結束:條條道路通羅馬,分享以供參考。