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代码:
查询条件:
<table width="100%" border=1>
<tr>
<td><input type="submit" value="查询"/></td>
</tr>
</table>
商品列表:
<table width="100%" border=1>
<tr>
<td>商品名称</td>
<td>商品价格</td>
<td>生产日期</td>
<td>商品描述</td>
<td>操作</td>
</tr>
<%-- 将后台传递过来的数据进行遍历 --%>
<c:forEach items="${itemList }" var="item">
<tr>
<td>${item.name }</td>
<td>${item.price }</td>
<td><fmt:formatDate value="${item.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
<td>${item.detail }</td>
<td><a href="${pageContext.request.contextPath }/itemEdit.action?id=${item.id}">修改</a></td>
</tr>
</c:forEach>
</table>
</form>
</body>
</html>
二、方法返回值为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页面上,代码如下:
查询条件:
<table width="100%" border=1>
<tr>
<td><input type="submit" value="查询"/></td>
</tr>
</table>
商品列表:
<table width="100%" border=1>
<tr>
<td>商品名称</td>
<td>商品价格</td>
<td>生产日期</td>
<td>商品描述</td>
<td>操作</td>
</tr>
<%-- 将后台传递过来的数据进行遍历 --%>
<c:forEach items="${itemList }" var="item">
<tr>
<td>${item.name }</td>
<td>${item.price }</td>
<td><fmt:formatDate value="${item.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
<td>${item.detail }</td>
<td><a href="${pageContext.request.contextPath }/itemEdit.action?id=${item.id}">修改</a></td>
</tr>
</c:forEach>
</table>
</form>
</body>
</html>
方法四、五分别重定向和转发到前端页面,代码如下:
<%@ 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"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>修改商品信息</title>
</head>
<body>
<table width="100%" border=1>
<tr>查询成功!</tr>
<tr>
<td><input type="checkbox" name="ids" value=""></td>
<td>商品名称</td>
<td>商品价格</td>
<td>生产日期</td>
<td>商品描述</td>
<td>操作</td>
</tr>
<c:forEach items="${itemList }" var="item" varStatus="s">
<tr>
<td><input type="checkbox" name="ids" value="${item.id }"></td>
<td><input type="text" name="itemsList[${s.index}].name" value="${item.name }"></td>
<td><input type="text" name="itemsList[${s.index }].price" value="${item.price }"></td>
<td><fmt:formatDate value="${item.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
<td>${item.detail }</td>
<td><a href="${pageContext.request.contextPath }/itemEdit.action?id=${item.id}">修改</a></td>
</tr>
</c:forEach>
</table>
</body>
</html>
标签:items,前端,方法,ssm,itemList,ModelAndView,数据,id 来源: https://www.cnblogs.com/xingchengzc/p/16218295.html