控制层的代码(后台)
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>
说在最后的话:编写实属不易,若喜欢或者对你有帮助记得点赞+关注或者收藏哦~