1、 返回String类型
返回逻辑视图名称,根据由于springMVC-servlet.xml配置文件中配置的图解析器解析成物理视图
2、 编写控制器方法returnString:
通过“springMVC-servlet.xml”中的配置的视图解析器,解析并响应 prefix+returnValue+suffix 对应的视图
/**
- 返回String类型
- 通过“springMVC-servlet.xml”中的配置的视图解析器,解析并响应
prefix+returnValue+suffix 对应的视图 */
@RequestMapping("/returnString")
public String returnString(Model model, HttpServletRequest request){
model.addAttribute(“msg”,“返回String类型需要就借助Model、HttpServletRequest等”); request.setAttribute(“name”,“返回String类型”);
return “returnType/returnString”;
//指向/WEB INF/jsp/returnType/returnString.jsp}
3、 新建 web/WEB-INF/jsp/returnType/returnString.jsp :
测试:
返回ModelAndView 类型:ModelAndView相对于String的返回类型的优势,可以携带参数传递到页面
1、 编写控制器方法returnMV:
/**
- 返回 ModelAndView类型
- 注意ModelAndView的完整包名:org.springframework.web.servlet.ModelAndView */ @RequestMapping("/returnMV")
public ModelAndView returnMV(){
//构造器传入视图
// ModelAndView mv=new ModelAndView("/returnType/returnMV");
//方法传入视图
ModelAndView mv=new ModelAndView();
mv.setViewName("/returnType/returnMV");
//携带参数返回页面
mv.addObject(“msg”,“返回ModelAndView类型与返回String类型基本一致,” + “也是通过“springMVC-servlet.xml”中的配置的视图解析器,解析并响应 prefix+ViewName+suffix 对应的视图” + “相对于String的返回类型的优势,可以更方便的携带参数传递到页面”);
mv.addObject(“name”,“返回 ModelAndView类型”);
return mv; }
2、 新建 web/WEB-INF/jsp/returnType/returnMV.jsp :
3、 测试:
返回void类型:一般配合PrintWriter使用,和Servlet用户类似
1、 编写测试方法returnVoid:
/**
- 返回void类型
- 一般配合PrintWriter使用,和Servlet用户类似
- @param writer PrintWriter对象 */
@RequestMapping("/returnVoid")
public void returnVoid(PrintWriter writer){
writer.write(“Hello,返回void类型”);
}
2、 测试:
存在问题:中文乱码
返回JSON类型:一般使用在JQuery的异步请求返回json格式的数据
1、 添加Json相关jar包(jackson):
jackson-annotations-2.11.4.jar; jackson-core-2.11.4.jar ;jackson-databind-2.11.4.jar
2、 配置<mvc:annotation-driven />
在springMVC-servlet.xml中添加:
<mvc:annotation-driven />会自动注册RequestMappingHandlerMapping、 RequestMappingHandlerAdapter 与xceptionHandlerExceptionResolver 三个bean。 还将提供以下支持: 支持使用 ConversionService 实例对表单参数进行类型转换; 支持使用 @NumberFormat annotation、@DateTimeFormat; 注解完成数据类型的格式化; 支持使用 @Valid 注解对 JavaBean 实例进行 JSR 303 验证; 支持使用 @RequestBody 和 @ResponseBody 注解;
3、 配置静态资源(以JQuery为例):在web目录下添加 js目录 注意:千万不要放到WEB-INF下,WEB-INF下的资源是受保护的,外部无法访问的
4、 将JQuery的js添加到js目录下:
5、在springMVC-servlet.xml中配置静态资源映射: