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";
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章