JSP页面获取后台程序转发前的URL地址
我在浏览器中敲入了一个URL,比如localhost/admin/home/2/2232323,而在SPring框架中,由于存在将请求转发到对一尼姑的JSP的逻辑,如下:
@RequestMapping("{userName}/home/{categoryId}/{fileName}") public String toUserCategory(){ return "blog/blog_list"; //返回JSP页面 }
这样就会将上面浏览器中的localhost/admin/home/2/2232323请求的JSP页面内容返回到浏览器中,此时,浏览器中的URL仍旧是localhost/admin/home/2/2232323,但是我在JSP页面中使用下面的代码获取请求的URL:
String pageUrl = request.getRequestURI();
却变成了JSP的全路径:/WEB-INF/blog/blog_template.jsp而不是 我想要的/admin/home/2/2232323,这是 怎么回事?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我也遇到了这个需求,我的处理方案是:
写一个过滤器捕获所有请求,在过滤器中获取详细访问路径,把这个路径放到request属性范围内,由于你的跳转都是内部转发,所以在你的jsp页面中可以从request属性范围内获取这个原始访问路径。
网上有兄弟说放到session范围内,个人感觉是很不合适的。