如何从HttpServletResponse.sendError(status,msg)传递消息到控制器?

问题描述 投票:0回答:1

这是当前的java(1.8)spring调用堆栈,

  1. 拦截器

    preHandle(HttpServletRequest request, HttpServletResponse response) { response.sendError(403) }

  2. web.xml

    <error-page> <error-code>403</error-code> <location>/error/forbidden</location> </error-page>

  3. errorController

    @RequestMapping(value="/error/forbidden") public ModelAndView forbidden () { // display fixed message "forbidden" in the web browser }

现在在拦截器中,我想发回自定义消息,preHandle(HttpServletRequest, HttpServletResponse) { response.sendError(403, "my msg") }

控制器已更改为

`@RequestMapping(value="/error/forbidden")
public ModelAndView forbidden (HttpServletRequest request, HttpServletResponse response)`

问题是,当我调试控制器代码时,我还无法从响应obj中找到“我的味精”。

Q1:我做对了吗?

Q2:如果是,响应中的“我的消息”在哪里?如果没有,请问正确的方法是什么?

java spring
1个回答
0
投票
response.setStatus(403); response.getWriter().write("my msg");
© www.soinside.com 2019 - 2024. All rights reserved.