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