我有以下问题。我想使用一个控制器,对于我的应用程序中的每个页面都是如此。这是一个常见的表单,包括每个页面中的jsp,它将邮件发送到预定义的电子邮件帐户。问题是,当我发布表单时,我被重定向到一个空白页面,其中url是我的RequestMapping值,尽管调用的方法实际上是无效的。所以我现在需要在将邮件发送到我来自的页面后重定向我。如何访问重定向我的页面的URL链接,发送电子邮件?感谢
答案 0 :(得分:2)
当返回void并且一个人没有处理自己编写响应时,Spring MVC委托检测哪个视图呈现给RequestToViewNameTranslator
,其中只有一个实现DefaultRequestToViewNameTranslator
。这基本上采用传入的URL,删除任何后缀(如.html等)并将其用作视图名称。你现在看到的行为。
我猜你有3个可能的解决方案
对于选项2,将HttpServletRequest
作为参数添加到请求处理方法中并检索标题。
public String foo(HttpServletRequest request) {
String referer = request.getHeader("Referer");
return "redirect:" + referer;
}
我可能会选择选项3,如果没有可用的JavaScript,可能会将选项1添加为后备。