SpringMVC框架day04之数据输出(一)

数据输出

springmvc.xml

  1. 包扫描 context:
  2. 前端控制器InternalViwResolver

web.xml

  1. 字符编码过滤器CharacterEncodingFilter
    解决响应乱码:response.setContentType(“text/html;charset=utf-8”);

  2. Rest风格过滤器HiddenFilter(_method的put和delete删改请求)

使用原生API向request和session域中保存数据

@RequestMapping(value = "good3")
    public String PrimitiveAPI(HttpServletRequest req, HttpSession session){
        req.setAttribute("msg1","maven自学成功之req");
        session.setAttribute("msg2","maven自学成功之session");
        return "success";
    }

success.jsp中

isELIgnored=“false” isErrorPage=“true”(解决bug)

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" isErrorPage="true" %>
<hr>
获取服务器中保存的request域数据${requestScope.msg1}
获取服务器中保存的session域数据${sessionScope.msg2}

使用springmvc(默认request)

向request域中保存数据

方法参数传Map/Model/ModelMap

在这里插入图片描述

Map

success.jsp

demo2-pageScope:${pageScope.msg1}
<h1>demo2-requestScope:${requestScope.msg1}</h1>
demo2-sessionScope:${sessionScope.msg1}
demo2-applicationScope:${applicationScope.msg1}

controller层

@RequestMapping("/demo2")
public String demo2(Map<String,Object> map){
    map.put("msg1","方法形参传map");
    System.out.println("demo2...");
    return "success";
}

index.jsp

<a href="demo2">demo2</a>
Model
demo3-pageScope:${pageScope.msg2}
<h1>demo3-requestScope:${requestScope.msg2}</h1>
demo3-sessionScope:${sessionScope.msg2}
demo3-applicationScope:${applicationScope.msg2}
------------------------------------------------------- 
@RequestMapping("/demo3")
public String demo3(Model model){
    model.addAttribute("msg2","方法形参传Model接口");
    System.out.println("demo3...");
    return "success";
}
------------------------------------------------------- 
<a href="demo3">demo3</a>
ModelMap
@RequestMapping("/demo4")
    public String demo4(ModelMap modelMap) {
        modelMap.addAttribute("msg3","继承currentHashMap的子类ModelMap");//class org.springframework.validation.support.BindingAwareModelMap
        System.out.println("demo4..."+modelMap.getClass());
        return "success";
//        BindingAwareModelMap  public class BindingAwareModelMap extends ExtendedModelMap {
//        ModelAndView中声明lModelMap
    }
------------------------------------------------------- 
demo4-pageScope:${pageScope.msg3}
<h1>demo4-requestScope:${requestScope.msg3}</h1>
demo4-sessionScope:${sessionScope.msg3}
demo4-applicationScope:${applicationScope.msg3}
------------------------------------------------------- 
<a href="demo4">demo4</a>
返回值ModelAndView代替String

controller层:

//    返回值ModelAndView 默认数据存放在request请求域中
    @RequestMapping("demo5")
    public ModelAndView demo5(){
        ModelAndView moelAndView = new ModelAndView("success");
        moelAndView.addObject("msg","返回类型为ModelAndView");
        return moelAndView;
    }

success.jsp

demo5-pageScope:${pageScope.msg}
<h1>demo5-requestScope:${requestScope.msg}</h1>
<h1>demo5-sessionScope:${sessionScope.msg}</h1>
demo5-applicationScope:${applicationScope.msg}

index.jsp

<a href="demo5">demo5</a>

向session域中保存数据

  1. 废弃:类上注解@SessionAttributes
    只需在类上写注解,type表示类型String.class的保存在session中,如果是数字18则无法保存在session中,value可以有多个{“msg1”,“msg2”}
@SessionAttributes(value = "msg")
@Controller
public class GoodController {
 
demo5-pageScope:${pageScope.msg}
<h1>demo5-requestScope:${requestScope.msg}</h1>
<h1>demo5-sessionScope:${sessionScope.msg}</h1>
demo5-applicationScope:${applicationScope.msg}
 
<a href="demo5">demo5</a>

在这里插入图片描述很可惜,会引发异常,故废弃@Deprecated

  1. 原生HttpSession

@ModelAttribute

详见另一博文

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值