jsp ${param.屬性}用法
眾所周知 如${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";
總結: 我目前的認識就是可以用於得到 請求引數的一種簡單形式。