SpringMVC-jsp頁面提交後向Controller傳值

之前我們已經講過controller向jsp頁面的傳值,接下來我們講解jsp頁面提交向controller傳值。

例:在頁面內,點擊修改信息按鈕,向controller傳遞選中的數據的num值,通過num值查詢該數據的信息後返回至修改頁面。

思路:

1、數據顯示頁面點擊按鈕後,向jsp頁面傳遞值

2、Controller接收傳來的num值,進行數據的查詢。

該問銜接上一篇博客:點擊查看


開發jsp頁面:

<%@ 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> 
<form action="${pageContext.request.contextPath }/data/dataAll.action" method="post">
數據查詢:
<table width="10%" border=1>
<tr>
<td><input type="text" name="num" placeholder="編號"/><br/></td>
<td><input type="submit" value="查詢"/></td>
</tr>
</table>
數據列表:
<table width="100%" border=1>
<tr>
	<td>編號</td>
	<td>溼度</td>
	<td>溫度</td>
	<td>二氧化碳</td>
	<td>粉塵</td>
	<td>操作</td>
</tr>
<c:forEach items="${datasList }" var="data">
<tr>
	<td>${data.num }</td>
	<td>${data.hum }</td>
	<td>${data.tem }</td>
	<td>${data.co }</td>
	<td>${data.fc }</td>
	
	<td><a href="${pageContext.request.contextPath }/data/editDatas.action?num=${data.num}">修改</a></td>

</tr>
</c:forEach>

</table>
</form>
</body>

</html>

如代碼:

<td><a href="${pageContext.request.contextPath }/data/editDatas.action?num=${data.num}">修改</a></td>

如上代碼將值傳遞給了前端的Controller。

接下來開發Controller接收值並做相應的操作:

//修改數據信息(點擊按鈕跳轉到修改界面-request將num傳過去,通過num查詢數據信息,顯示在修改框)
	//通過@RequestParam接收request傳遞過來的參數
	@RequestMapping(value="/editDatas",method={RequestMethod.POST,RequestMethod.GET})
	public String editDatas(Model model,@RequestParam(value="num",required=true)Integer num)throws Exception{
		//根據num查詢數據信息
		DataCustom dataCustom = (DataCustom) dataService.findDataByNum(num);
		
		//通過形參中的model將數據傳送到頁面
		model.addAttribute("dataCustom", dataCustom);
		
		return "/data/editDatas";
	}

如代碼:

@RequestParam(value="num",required=true)Integer num

該語句則將傳遞過來的值作爲了Controller方法的參數值,在方法體內部即可通過該參數做相應的操作。
發佈了436 篇原創文章 · 獲贊 106 · 訪問量 57萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章