SprinMVC前後端相互傳遞資料的方式
阿新 • • 發佈:2018-11-16
控制層的程式碼(後臺)
StudentControler.java
package com.zs.controler;
import com.zs.entity.Student;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework. web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
/**
* @author 小思
* @PackageName:com.zs.controler
* @ClassName: StudentControler
* @Description:學生類的控制層
* @date 2018/11/2 16:42
*/
//標明此類是控制器
@Controller
public class StudentControler {
//註解外部請求的路徑/test1
//?:匹配請求路徑中的一個目錄?/test
//*:代表請求路徑的一級目錄不區分目錄名字元數*/test1
//**:代表請求路徑的多級目錄不區分目錄名字元數**/test1
//@RequestMapping方式一:括號的值直接填寫跳轉路徑,此路徑不包括上級目錄
@RequestMapping("/test1")
public String test1() {
System.out.println("test1方法被訪問");
//核心配置檔案有配置內部檢視解析器的前後綴,合起來就是/success.jsp
return "success";
}
//@RequestMapping方式二:
@RequestMapping(value = "test2", method = RequestMethod.GET)
public String test2() {
System.out.println("test2方法被訪問");
return "success";
}
//前端向後臺傳遞資料的三種方式
//方式一:直接傳字串
@RequestMapping("/test3")
public String test3(String sname,String ssex){
System.out.println("test3前端向後臺傳遞資料成功");
System.out.println(sname + "\t" + ssex);
return "success";
}
//方式二:傳物件
@RequestMapping(value = "/test4",method = RequestMethod.POST)
public String test4(Student s){
System.out.println("test4前端向後臺傳遞資料成功");
System.out.println(s.getSname() + "\t" + s.getSsex());
return "success";
}
//方式三:使用註解
@RequestMapping(value = "/test5",method = RequestMethod.POST)
public String test5(@RequestParam("sname") String sname,@RequestParam("ssex") String ssex){
System.out.println("test5前端向後臺傳遞資料成功");
System.out.println(sname + "\t" + ssex);
return "success";
}
//後端向前端傳遞資料的三種方式
//方式一:使用map集合
@RequestMapping("/test6")
public String test6(Map map){
map.put("sname","小小");
map.put("ssex","男");
return "success";
}
//方式二:使用Servlet物件
@RequestMapping("/test7")
public String test7(Student student, HttpServletRequest request){
student.setSname("小小");
student.setSsex("男");
request.setAttribute("student",student);
return "success";
}
//方式三:使用模型檢視
@RequestMapping("/test8")
public ModelAndView test8(Student student){
student.setSname("小小");
student.setSsex("男");
ModelAndView modelAndView=new ModelAndView();
modelAndView.addObject(student);
//設定返回的檢視名稱
modelAndView.setViewName("success");
return modelAndView;
}
}
檢視層的程式碼(前端)
submit.jsp
<%--
@Name: submit
@Description:
@author 小思
@date 2018/11/2 23:35
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>測試前端向後臺傳遞的資料</title>
</head>
<body>
<form action="/test5.action" method="post">
使用者名稱:<input type="text" name="sname"><br>
性別:<input type="text" name="ssex"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
success.jsp
<%--
@PackageName:
@ClassName: success
@Description:
@author 小思
@date 2018/11/2 21:53File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" isELIgnored="false" language="java" %>
<html>
<head>
<title>測試後臺向前端傳遞的資料</title>
</head>
<body>
test6傳遞的引數:${sname}  ${ssex}<br>
test7/8傳遞的引數:${student.sname}  ${student.ssex}
</body>
</html>
說在最後的話:編寫實屬不易,若喜歡或者對你有幫助記得點贊+關注或者收藏哦~