【问题标题】:This webpage has a redirect loop in Spring mvc这个网页在 Spring mvc 中有一个重定向循环
【发布时间】:2015-12-02 00:14:21
【问题描述】:

我正在为这种奇怪的行为而苦苦挣扎这个网页有一个重定向循环,我在主页上有一个链接

<a href='<spring:url value="/url?view=offers" />'>offers</a>

我的控制器是

@Controller
public class OfferController {

    @Autowired
    private OfferService offerService;
    @RequestMapping(value = "/url", method = RequestMethod.GET)
    public String showOffers(@RequestParam("view") String view, Model model) {

        model.addAttribute("offers", offerService.findAll());
        return "redirect:/url?view=offers";
    }
}

上面的代码导致了这个问题,上面的代码有什么问题。

【问题讨论】:

  • redirect:/url?view=offers 将再次调用控制器,这将一次又一次地进行

标签: java spring spring-mvc url-rewriting


【解决方案1】:

你有一个 /url 的 URL 映射,然后在访问 /url 之后,代码将它重定向到 /url?view=offers。这就是你得到重定向循环的原因。

也许这就是你的目的:

@Controller
public class OfferController {

    @Autowired
    private OfferService offerService;
    @RequestMapping(value = "/url", method = RequestMethod.GET)
    public String showOffers(@RequestParam(value = "view", defaultValue = "offers") String view, Model model) {
        model.addAttribute("offers", offerService.findAll());
        return "url";
    }
}

【讨论】:

  • 其实我也想做url重写,但是做不到。
  • 知道如何将我的 url 写为 www.host.com/url?view=offers,在这种情况下,我们非常感谢 &lt;a href='&lt;spring:url value="/url?view=offers" /&gt;'&gt;offers&lt;/a&gt; 或控制器中的任何更改.
  • 其实我不明白你的意思,但我想你想将/url重定向到/url?view=offers,但它有重定向循环。也许您可以添加参数的默认值,试试这个:@RequestParam(value = "view", defaultValue = "offers") String view 然后您从 /url 和 /url?view=offers 获得相同的访问权限检查编辑的答案。
  • 我想他想从这个控制器域重定向到另一个域 www.host.com/url?view=offers
猜你喜欢
  • 2014-12-27
  • 2013-12-22
  • 2013-11-06
  • 2013-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多