Spring 使用ModelAndView返回简单文本字符串
如何返回下面这样的简单文本字符串,基本上我想在浏览器中显示我的错误的简单文本 我在这里处理我的错误,在这里我想这样做:Spring 使用ModelAndView返回简单文本字符串,spring,spring-mvc,spring-boot,Spring,Spring Mvc,Spring Boot,如何返回下面这样的简单文本字符串,基本上我想在浏览器中显示我的错误的简单文本 我在这里处理我的错误,在这里我想这样做: @ExceptionHandler(Exception.class) public ModelAndView handleAllException(Exception e) { } 问题是我必须返回ModelAndView。我如何才能返回一个简单的文本到浏览器,不想使用任何JSP等 只需按以下相同方式或类似方式返回: return ResponseEntity.status
@ExceptionHandler(Exception.class)
public ModelAndView handleAllException(Exception e) {
}
问题是我必须返回ModelAndView。我如何才能返回一个简单的文本到浏览器,不想使用任何JSP等
只需按以下相同方式或类似方式返回:
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(e.getMessage());
例如,这不起作用:
return new ModelAndView((View) ResponseEntity.status(HttpStatus.BAD_REQUEST).body(e.getMessage()));
从
@ExceptionHandler
:
允许使用此注释进行注释的处理程序方法
有非常灵活的签名。它们可能具有以下参数:
以下类型,按任意顺序:[…]的OutputStream/Writer
生成响应的内容。这将是生的
Servlet API公开的OutputStream/Writer。[……]
因此,您可以定义一个异常处理方法,如下所示:
@ExceptionHandler(Exception.class)
public void handleAllException(Exception e, Writer responseWriter) {
responseWriter.write(e.getMessage());
}
显然,您可以执行更复杂的操作来格式化错误消息,但这是基本思想。您可以执行以下操作:
public ModelAndView handleAllException(Exception e) {
ModelAndView mav = new ModelAndView("your_jsp_name");
modelAndView.addObject("name", "Peter");
...
return mav;
}
我把JSP放在SpringBoot结构的什么地方?需要任何其他配置吗?OP询问如何在不使用jsp的情况下返回纯文本响应。不知道您的项目结构如何,但您可以尝试只输入要显示文本的文件名。如果这不起作用,请尝试将jsp输入:src/main/resources/public/Example而不使用jsp: