【问题标题】:spring mvc tracing the referrer pagespring mvc 跟踪引用页面
【发布时间】:2013-12-07 15:44:15
【问题描述】:

在基于注解的弹簧控制器中。如果用户在 url.com/first/page 上并单击链接或提交指向说 url.com/second/page 的表单。

如何让second/page知道url of /first/page以便second/page可以

1) redirect 用户在处理表单值时再次到first/page

2) 或向/first/page 显示back button link

编辑 1 --

request.getHeader('Referer') 是另一个,但我think 是基于浏览器支配的浏览器。如果浏览器不这样做,我们无法知道。我想要一种应用范围广泛的方法。一些如何将 url 从一个页面传递到另一个页面

编辑 1 结束 --

【问题讨论】:

    标签: java spring jakarta-ee spring-mvc


    【解决方案1】:

    您可以使用以下两种方法:

    request.getAttribute("javax.servlet.forward.request_uri")  
    

    request.getHeader("Referer"); 
    

    在上述方法中,您信任浏览器行为以及使请求对象可用的容器。我不知道你为什么不想使用这种方法。

    或者

    你可以获取当前页面/serlvet url 保存在会话中,并在第二页中使用。

     String requestUrl=request.getRequestURL();
     session.setAttribute("pervious_page",requestUrl);
    

    然后在第二页:

    session.getAttribute("pervious_page");
    

    【讨论】:

    • request.getHeader('Referer') 是另一个,但我think 是基于浏览器怜悯的浏览器。如果浏览器不这样做,我们无法知道。我想要一种应用范围广泛的方法。一些如何将 url 从一个页面传递到另一个页面
    • 据我所知,您可以信任上述方法。如果您不想,您可以手动将 currentmurl 存储在会话中并在目标页面中使用它。
    • 你的意思是一种方法是在每个页面被request.getSession. page context. current page 或其他东西访问时捕获它并将其放入会话属性中。下一页看到了。等等?
    • 知道了。谢谢。 request.getRequestURL().toString(); 将显示 theCompleteSiteAddress.com/section/page/bla 但如果我只想获得 /section/pagge/bla 部分怎么办?我想我必须在/ 之后使用子字符串
    猜你喜欢
    • 1970-01-01
    • 2013-05-25
    • 1970-01-01
    • 2015-11-19
    • 1970-01-01
    • 2021-03-09
    • 2011-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多