Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 使用ModelAndView返回简单文本字符串_Spring_Spring Mvc_Spring Boot - Fatal编程技术网

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: