SpringMVC---页面渲染与返回JSON数据

目录​​​​​​​

1.如何将控制层的数据渲染到页面

        1.1 通过自带参数Model

         1.2 通过servlet的HttpServletRequest

        1.3 通过servlet的HttpSession

2.返回json数据

        2.1 引入jackson依赖     

        2.2 直接返回对应的对象类型,并在控制层方法上加入注解 

 3.定义全局异常、拦截器


1.如何将控制层的数据渲染到页面

        1.1 通过自带参数Model

            控制层代码:

@Controller
@RequestMapping("/my02")
public class MyController02 {
    @RequestMapping("/con01")
    public String method01(Model model){
        //model对象可以理解为request对象。凡是在该对象中保存的数据,作用范围同一个请求有效。
        Stu stu = new Stu("ccc",1,"123",new Date());
        model.addAttribute("stu01",stu);
        return "index02";
    }
}

        发出请求的前端代码:

<body>
<a href="my02/con01">点击测试</a>
</body>

        被渲染的页面:

<body>
model:${requestScope.stu01}<br>
</body>

测试

         1.2 通过servlet的HttpServletRequest

        注:记得引入servlet的相关依赖

<dependency>
      <groupId>tomcat</groupId>
      <artifactId>servlet-api</artifactId>
      <version>5.5.23</version>
</dependency>

        控制层代码:

@Controller
@RequestMapping("/my02")
public class MyController02 {
  

    @RequestMapping("/con02")
    public String method02(HttpServletRequest request){
        Stu stu = new Stu("fff",1,"123123",new Date());
        request.setAttribute("stu02",stu);
        return "index02";
    }
}

        发出请求页面:

<body>
<a href="my02/con02">点击测试</a>
</body>

        被渲染页面:

<body>
request:${requestScope.stu02}<br>
</body>

测试:

         上面两种方法的作用是一样 都是保存在request范围。

        1.3 通过servlet的HttpSession

        控制层代码:

@Controller
@RequestMapping("/my02")
public class MyController02 {
    @RequestMapping("/con03")
    public String method02(HttpSession session){
        Stu stu = new Stu("ww",1,"12323",new Date());
        session.setAttribute("stu03",stu);
        return "index02";
    }
}

        发送请求的页面:

<body>
<a href="my02/con03">点击测试</a>
</body>

        被渲染的页面:

<body>
session:${sessionScope.stu03}<br>
</body>

测试:

2.返回json数据

        2.1 引入jackson依赖     

<!--jackson依赖 可以整合springmvc把java对象转换为json对象-->
<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-databind</artifactId>
  <version>2.12.4</version>
</dependency>

        2.2 直接返回对应的对象类型,并在控制层方法上加入注解 

@Controller
@RequestMapping("my03")
public class MyController03 {
    @RequestMapping("con01")
    @ResponseBody  //java---->json
    public Stu method01(){
        Stu stu = new Stu("ccc",1,"123",new Date());
        return stu;
    }
}

 测试:

问题:

      

 解决办法:

   结果:

        

 3.定义全局异常、拦截器

        见下篇^_^

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值