【问题标题】:Simple WebApp redirecting to wrong page简单的 WebApp 重定向到错误的页面
【发布时间】:2018-09-12 15:40:41
【问题描述】:

我有这个简单的重定向按钮

<a class="btn btn-primary mt-5 btn-rounded btn-lg" href="dashboard">Back to home</a>

如果我在页面上,它会完美运行:mywebSite.com/user

但如果我在mywebSite.com/user/John 上单击该按钮,它会将我重定向到mywebSite.com/user/dashboard

控制器

  @RequestMapping("/dashboard")
public ModelAndView dashboard() {
    return new ModelAndView("dashboard");
}

我能做些什么来解决这个问题?

【问题讨论】:

  • 这是正确的行为。您的 href 与当前页面相关。请改用href="/dashboard"

标签: java html spring spring-mvc


【解决方案1】:

问题在于它是一个相对链接。要解决此问题,只需将其切换到&lt;a class="btn btn-primary mt-5 btn-rounded btn-lg" href="/dashboard"&gt;Back to home&lt;/a&gt;

同时将链接中出现的所有其他“仪表板”切换到“/dashboard”

希望这会有所帮助!

【讨论】:

  • /dashboard 就足够了。无需使其依赖于网站。
【解决方案2】:

为此,您可以使用base url

如果你使用 JSP,你可以使用下面的代码来设置基本 url。

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="req" value="${pageContext.request}" />
<c:set var="baseURL" value="${req.scheme}://${req.serverName}:${req.serverPort}${req.contextPath}" />

现在将您的代码更改为

<a class="btn btn-primary mt-5 btn-rounded btn-lg" href="${baseURL}/dashboard">Back to home</a>

如果你不使用 JSP,你可以使用 javascript 来做同样的事情-

【讨论】:

    【解决方案3】:

    它采用相对路径。在路径中提及完整的 URI ex: href="abc/xyz/cdfd/dashboard"

    【讨论】:

      猜你喜欢
      • 2018-08-09
      • 1970-01-01
      • 1970-01-01
      • 2013-09-17
      • 2010-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多