Springmvc_spring学习(一)——数据的接收,共享,转发

<!-- 测试用的jsp页面 -->

<body>
	<a href="bookinfo/add.action?bookid=1&bookname=2&bookprice=3&bookimg=4">1.1.以对象的方式接收数据</a>
	<br>
	<a href="bookinfo/add2.action?bookid=1&bookname=2&bookprice=3&bookimg=4">1.2.以变量的方式接收数据</a>
	<br>
	<a href="bookinfo/add3.action?bookid=1&bookname=2&bookprice=3&bookimg=4">1.3.原生request,response接收数据</a>
	<br>
	<a href="bookinfo/page.action?page=444">1.4.改变参数名接收数据</a>
	<br>
	<a href="bookinfo/add4.action?bookid=1&bookname=2&bookprice=3&bookimg=4">2.对象注解-改变共享时的名字</a>
	<br>
	<a href="bookinfo/add5.action?bookid=1&bookname=2&bookprice=3&bookimg=5">4.session共享</a>
	<br>
	
	<a href="bookinfo/query.action">5.1无条件查询出集合</a>
	<br>
	<a href="bookinfo/query2.action?bookid=100">5.2通过id查询</a>
	<br>
	<a href="bookinfo/query3.action?bookid=100">5.3通过id查询-map</a>
	<br>
</body>

一,接收页面数据

1.1以对象方式接   页面中参数的名字与JAVABEAN中保持一致

//BookinfoController.java

//1.1以对象方式接   页面中参数的名字与JAVABEAN中保持一致
	@RequestMapping("/add")
	public String add(Bookinfo bookinfo) {
		//1.放到()里面的任何 对象 会自动实例化(NEW)
		//2.自动DI/IOC(相当于以前SERVLET中写的request.getParameter("bookid"))
		//3.会自动共享数据(request.setAttribute("bookinfo",bookinfo);)
		//  但是,这个共享只会共享页面中输入进来的数据,比如你只输入了两个字段,其它字段是不共享的
		//调用业务层添加bookSerice.save(bookinfo);
		System.out.println(bookinfo.getBookid());
		System.out.println(bookinfo.getBookname());
		System.out.println(bookinfo.getBookprice());
		System.out.println(bookinfo.getBookimg());
		return "index";
	}

1.2.以变量的方式接 页面中参数的名字与变量中保持一致

        @RequestMapping("/add2")
	public String add2(String bookid,String bookname,String bookprice,String bookimg) {
		System.out.println(bookid);
		System.out.println(bookname);
		System.out.println(bookprice);
		System.out.println(bookimg);
		return "index";
	}

1.3.接收页面数据,原生request,response

        @RequestMapping("/add3")
	public String add3(HttpServletRequest request, HttpServletResponse response) {
		System.out.println(request.getParameter("bookid"));
		System.out.println(request.getParameter("bookname"));
		System.out.println(request.getParameter("bookprice"));
		System.out.println(request.getParameter("bookimg"));
		return "index";
	}

1.4.接收页面数据,但要改参数名字

//@RequestParam("abc"),指定页面参数的名字为abc
	//指定页面请求所带的参数的参数名(当()中参数名与页面参数名不同时使用)
	@RequestMapping("/page")
	public String page(@RequestParam("page") int pageIndex) {
		System.out.println("页数:"+pageIndex);
		return "index";
	}

二,对象注解


	//@ModelAttribute("abc"),这个注解的意思是:request.setAttribute("abc",bookinfo);
	//@ModelAttribute,不写其它也写了这个注解,request.setAttribute("bookinfo",bookinfo);
	//所以,如果是下面这个方法的写法,到index.jsp页面得到数据的方式应该是:${abc.bookid}
	@RequestMapping("/add4")
	public String add4(@ModelAttribute("abc") Bookinfo bookinfo) {
		System.out.println(bookinfo.getBookid());
		System.out.println(bookinfo.getBookname());
		System.out.println(bookinfo.getBookprice());
		System.out.println(bookinfo.getBookimg());

		return "index";
	}

三,转发
    //request.getRequestDispatcher("/index.jsp").forward(request,response);
    return "index";
    //response.sendRedirect("/index.jsp");
    //return "redirect:../index.jsp";

四,sesion共享
    //默认共享为request,如果想让这个bookinfo共享范围提升为session的,在类上方的注解最后面加上
    //@SessionAttributes
    @RequestMapping("/add5")
    public String add5(Bookinfo bookinfo) {
        return "index";
    }

//@SessionAttributes("bookinfo"),意思是session共享对象bookinfo,

//也可共享多个对象,@SessionAttributes("bookinfo1","bookinfo2","bookinfo3")

五,从数据库中查询并传到jsp页面

        //5.1.从数据库中查询一个集合出来,并传到JSP页面去
        @RequestMapping("/query")
	public String query(ModelMap map) {
		map.addAttribute("bookinfos", bookinfoService.getBookinfos());
		return "index";
	}

	//5.2.从数据库查询一个对象出来,并传到JSP
	@RequestMapping("/query2")
	public String query2(ModelMap map, Bookinfo bookinfo) {
		map.addAttribute("bookinfo", bookinfoService.getBookinfoById());
		return "index";
	}
	
	//5.3从数据库查询一个对象出来,并传到JSP,用Map,
        //put与addAttribute作用类似,都是共享数据到jsp页面(默认为request共享)
	@RequestMapping("/query3")
	public String query3(Map map,Bookinfo bookinfo) {
		map.put("bookinfo", bookinfoService.getBookinfoById());
		return "index";
	}
	
	//5.4从数据库查询一个对象出来,并传到JSP,用Map
	@RequestMapping("/query4")
	public String query4(Map map,int pageIndex) {
		map.put("pageIndex", pageIndex);
		return "index";
	}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值