JSP中的${param.屬性}用法

在JSP中,我們都知道, 如${id} 意思是取出某一範圍中名稱爲id的變量,它的取值範圍Page,Request,Session,Application
${param.id}就不是從這四個範圍取值的方式了,而是相當於 request.getParameter("id")。如同怎麼得到從表單傳遞過來的值一樣。
描述

param 應該是el表達式中的東西,這種寫法一般是可以得到請求的參數的值。

業務場景

現在用到的一個場景,就是前端頁面需要登錄,但是如何實現就是一個問題,因爲後臺統一使用了shiro來實現權限管理和控制,那前端如何實現登錄呢,並且登錄成功後要跳轉到之前自己點擊要跳轉的頁面,比如如果是一個商城網站,當我點擊我的信息的時候,是需要登錄的,但是登錄成功後,要跳轉的我的信息頁面,那麼如何實現呢?

方式一:

定義一個攔截器,給前端需要攔截的頁面都定義一個地址標示 ,比如需要登錄的頁面地址包含 /needLogin/xxx ,

攔截器就可以根據請求的地址中是否包含需要登錄的地址,如果包含那就進行驗證,session中是否已經登錄標示,
如果登錄繼續訪問,如果沒有,則重定向到登錄頁面,同時重定向的時候,把現在訪問的地址作爲參數傳過去,按照傳統想法,就是在登錄請求方法中,把跳轉地址返回到登錄頁面,當請求登錄action,並把地址傳過去,如果登錄成功則跳轉到該地址。但是這裏寫的就有些複雜了,其實更簡單的寫法就是在jsp頁面可以通過${param.key}就可以得到請求的地址。

下面的代碼就可以省略。

 
String goPageUrl = request.getParameter("url");

request.setAttribute("goPageUrl", goPageUrl);

return "loginpage.jsp";
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章