我有以下控制器:
@Controller
public class MyErrorController implements ErrorController {
@RequestMapping("/error")
public String handleError(HttpServletRequest request, Model model) {
model.addAttribute("request", request);
return "error";
}
}
以及以下模板:
URL: <span th:text="${#request.getRequestURL()}">url</span><br/>
如果我转到网址http://localhost:8080/this-is-a-404-url
,则模板显示如下:
URL: http://localhost:8080/error
但是,这不是正确的网址(仅是requestMapping)。有没有办法从模板中的request
对象获取客户端URL?
请注意,如果必须在控制器中执行此操作,则可以执行:request.getAttribute(RequestDispatcher.FORWARD_REQUEST_URI);
。有办法在百里香中做到这一点吗?
答案 0 :(得分:1)
您可以通过获取转发的请求uri来完成上述操作:
URL: <span th:text="${#request.getAttribute('javax.servlet.forward.request_uri')}">url</span><br/>
这将返回您的“ / this-is-a-404-url”