ssm前端向后端传数据


Controller层中的代码:

@Controller
public class TestController {
   
    @RequestMapping(value = "/itemlist.action")
    public ModelAndView toEdit(Integer id,
			HttpServletRequest request,HttpServletResponse response
			,HttpSession session,Model model){
 
//方法一:创建ModelAndView对象,再通过它的方法去设置数据和转发指定到的视图名
 
        //根据前端传递过来的id,来通过sql语句查询数据
		Items items = itemService.selectItemsById(id);
 
        //新建一个ModelAndView对象
		ModelAndView modelandview = new ModelAndView();
		//将查询的数据放入到ModelAndView对象中
                             //"itemList":为别名,在前端页面上使用
                             //items:执行sql语句查询到的数据
		modelandview.addObject("itemList", items);
                                     
        //指定视图,也就是把查询的数据放到前端的哪个页面上去
                               //"itemList":指定到名为这个的视图上
		modelandview.setViewName("itemList");
		return modelandview;
 
 
//方法二:在创建一个ModelAndView对象后,可以直接通过带有参数的构造方法 ModelAndView(String viewName, String attributeName, Object attributeValue) 来返回数据与转发的视图名
        
              //根据前端传递过来的id,来通过sql语句查询数据
		Items items = itemService.selectItemsById(id);
 
                return new ModelAndView("itemList","itemList", items);
 
      //简单的理解就是此种方法相当于是在方法一的基础上做了修改,省略了addObject( )和setViewName( )的方法。
 
 
 
//方法三:在创建一个ModelAndView对象后,使用重定向指定展示的视图页面
 
		 //根据前端传递过来的id,来通过sql语句查询数据
		Items items = itemService.selectItemsById(id);
 
                 return new ModelAndView(redirect:/itemlist.action);
 
 
	}
    
}

如果使用ModelAndView进行后台向前端传递数据,上面三种方法任选其一。

传递到前端页面 itemList.jsp代码:
查询条件:

商品列表: <%-- 将后台传递过来的数据进行遍历 --%>
商品名称 商品价格 生产日期 商品描述 操作
${item.name } ${item.price } ${item.detail } 修改

二、方法返回值为String时,后台向前台返回数据的3种方法:

SSM中,返回值为String时,后台向前端返回数据的方法
当方法的返回值为String类型时,后台怎么将数据传递给前端?闲话不多说,我们分别使用5种方法进行传递,代码如下。

Controller层中的代码:

 @Controller
public class TestController {
   
    @RequestMapping(value = "/itemlist.action")
    public ModelAndView toEdit(Integer id,
			HttpServletRequest request,HttpServletResponse response
			,HttpSession session,Model model,Map map){
 
        //根据前端传递过来的id,来通过sql语句查询数据
		Items items = itemService.selectItemsById(id);
 
//方法一:放在model里(建议使用这个)  
                             //"itemList":别名,在jsp页面中使用
        model.addAttribute("itemList", "items");
        return "itemList";
                  //指定到名为itemList.jsp的页面上
 
//方法二:放在request里
 
         request.setAttribute("itemList", "items");
         return "itemList";
 
//方法三:放在map里
 
        map.put("itemList", "items");
        return "itemList";
	}
 
//方法四:使用重定向
 
        return "redirect:/success";
 
/方法五:使用转发
        
         return "forward:/success";
    
}

上面五种方法任选其一,建议使用model。

方法一、二、三分别传递到前端itemList.jsp页面上,代码如下:

查询条件:

    
商品列表: <%-- 将后台传递过来的数据进行遍历 --%>
商品名称 商品价格 生产日期 商品描述 操作
${item.name } ${item.price } ${item.detail } 修改

方法四、五分别重定向和转发到前端页面,代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"  prefix="fmt"%>




修改商品信息
 

 
查询成功!
商品名称 商品价格 生产日期 商品描述 操作
${item.detail } 修改