如何使用SpringMVC让服务器数据返回到前端页面
- 新建一个类,用@controller注解声明它是一个控制器类
@Controller
public class BackToWebController
{
}
- 在类中写上一个ModelAndView的处理方法,ModelAndView是SpringMVC中一个用来处理模型数据和视图层数据交互的类,再用@RequestMapping注解给与一个路径。这样就能在该方法中处理一些数据然后返回给视图层。
@RequestMapping(“/backtoweb”)
public ModelAndView backtoWeb()
{
//这里用于处理一些数据然后返回给视图层
return modelAndView;
}
- 在类中写上一个Model的处理方法,去进行数据的处理和返回
@RequestMapping(“/backmodel”)
//这个Model作为一个方法的形参声明,这个形参不需要自己去传值,SpringMVC启动的时候会默认实例化一个对象,Model是一个域对象。
public String backtoWebModel(Model model)
{
//在没使用freemarker的情况下要将页面路径写完整
return “前端页面名称”;
}
- 返回一个JSON数据对象让外部进行调用,和前端进行交互。
方法一:
在@ RequestMapping注解下新增一个@ ResponseBody注解,此时数据会作为一个JSON类型返回
//@ RequestMapping在没有使用@ResponseBody的时候return作为路径跳转
@RequestMapping(“/backmodel”)
//modelAndView的优先级要高于ResponseBody
@ResponseBody
public User backtoWebModel()
{
User user = new User();
user.setUsername(“hello”);
user.setUserpwd (“123”);
//此时返回给前台的就是一个JSON类型的字符串
return user;
}
方法二:
使用@RestController注解,@RestController是@Controller和@ResponseBody的结合,使用了该注解的控制器中的所有处理方法都会以JSON数据返回
@RestController
public class BacketoWebRestController
{
@RequestMapping(“/backtojson”)
public User backtoWebModel()
{
User user = new User();
user.setUsername(“hello”);
user.setUserpwd (“123”);
return user;
}
}
- 新建一个前端展示页面,从ModelAndView返回的数据值中得到想要展示的信息,利用${}进行展示。
- 到浏览器页面进行访问。
PS:
@SpringBootApplication是一个组合注解,它会去扫描控制器类,但是它的扫描范围是有限的,它只能去扫描它的同级目录和子目录下的Bean或者是Configuration中定义的Bean。如果想要扫描非同级目录或者子目录,要么将该启动类提到上一级包或者最上层去中,要么添加一个注解@ComponentScan,并将要扫描的包的名字传给该注解即可。