Java 使用springmvc的虚拟视图

Java 使用springmvc的虚拟视图,java,spring,spring-mvc,Java,Spring,Spring Mvc,我的Spring MVC应用程序中有以下代码: @RequestMapping(value = "/ping") public void ping () { } 我想以简单的纯文本回应该请求,其中包含: OK! 但我目前正在使用一个ResourceBundleView解决方案,将我的jsp放在WEB-INF/views文件夹中。。。有没有办法只通过修改ping()方法的内容来输出纯文本?谢谢 试试这个: @RequestMapping(value = "/ping") @ResponseB

我的Spring MVC应用程序中有以下代码:

@RequestMapping(value = "/ping")
public void ping () {

}
我想以简单的纯文本回应该请求,其中包含:

OK!
但我目前正在使用一个ResourceBundleView解决方案,将我的jsp放在WEB-INF/views文件夹中。。。有没有办法只通过修改ping()方法的内容来输出纯文本?谢谢

试试这个:

@RequestMapping(value = "/ping")
@ResponseBody
public String ping () {
   return "OK!";
}
试试这个:

@RequestMapping(value = "/ping")
@ResponseBody
public String ping () {
   return "OK!";
}
使用mvc名称空间。 差不多 Viewname=jspfile

使用mvc名称空间。 差不多 Viewname=jspfile

另一种可能性:

@RequestMapping(value = "/ping")
public void ping (HttpServletResponse response) {
PrintWriter out;
response.setContentType("text/plain");
try {
out = response.getWriter();
out.write(message);
}
catch (IOException ex) {
     ex.printStackTrace();

} finally {
  out.close();
}
}
如果您需要返回文本,请使用@skaffman建议的方法。如果您需要返回具有不同内容类型(例如,文件或文件块)的文件或任何其他对象,则可以使用此方法

另一种可能性:

@RequestMapping(value = "/ping")
public void ping (HttpServletResponse response) {
PrintWriter out;
response.setContentType("text/plain");
try {
out = response.getWriter();
out.write(message);
}
catch (IOException ex) {
     ex.printStackTrace();

} finally {
  out.close();
}
}

如果您需要返回文本,请使用@skaffman建议的方法。如果您需要返回具有不同内容类型(例如,文件或文件块)的文件或任何其他对象,则可以使用此方法

@ResponseBody
void
返回类型的组合毫无意义。@skaffman,你是说如果我使用HttpServletResponse发送东西,我不需要@ResponseBody注释吗?行吗?我从来没有试过。对
@ResponseBody
表示返回值。如果你的控制器方法声明<代码> HttpServletResponse 或<代码>作者>代码>作为参数,Spring假设你自己在处理这个响应。非常好的提示,我会考虑,但是对于我的情况,只需要@ Skavman提出的,谢谢!
@ResponseBody
void
返回类型的组合毫无意义。@skaffman,你是说如果我使用HttpServletResponse发送东西,我不需要@ResponseBody注释吗?行吗?我从来没有试过。对
@ResponseBody
表示返回值。如果你的控制器方法声明<代码> HttpServletResponse 或<代码>作者>代码>作为参数,Spring假设你自己在处理这个响应。非常好的提示,我会考虑,但是对于我的情况,只需要@ Skavman提出的,谢谢!