发表于: 2019-12-09 23:55:22

1 1272


今天完成的事情:


学习@requestBody和reponseBody区别


@requestBody


作用:   将前台发送过来固定格式的数据【xml 格式或者 json等】封装为对应的 JavaBean 

GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。

在后端的同一个接收方法里

@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。


注:一个请求,只有一个RequestBody;一个请求,可以有多个RequestParam。



@reponseBody的作用

作用:放在方法上,直接返回json格式的数据

就不用我们用tag lib标签生成了




更改了ssm代码  使其返回一个主控制页面


修改了查询所有用户的代码


//查询所有用户
@RequestMapping(method = RequestMethod.GET)
public String findAll(Model model) {

List<Student> list = studentMapper.selectStudent();

   System.out.println("查询结果为" + list);
   logger.info(list);
 model.addAttribute("list",list);

   System.out.println("查询成功!!");
   return "allstudent";
}


让其返回一个主页面


allstudent. jsp 

<%@page contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<html>
<head>
<title>ALL</title>
</head>
<body>
<table align="center" border="1" cellspacing="0">
<tr>
<td>id</td>
<td>name</td>
<td>qq</td>
<td>type</td>
<td>time</td>
<td>stunum</td>
<td>daily</td>
<td>wish</td>
<td>senior</td>
<td>修改</td>
<td>删除</td>
</tr>
<%--//接收controller给出的model数据--%>
<%--c标签里封装了java循环语法--%>
<c:forEach items ="${list}" var="Student">
<tr>
<td>${Student.id}</td>
<td>${Student.name}</td>
<td>${Student.qq}</td>
<td>${Student.type}</td>
<td>${Student.admission_date}</td>
<td>${Student.graduate_school}</td>
<td>${Student.student_number}</td>
<td>${Student.daily_link}</td>
<td>${Student.wish}</td>
<td><a href="/student/up/${Student.id}">修改</a></td>
<td><a href="/student/delete/${student.id}">删除</a></td>
</tr>
</c:forEach>
</table>
</body>
</html>


需要导入


运行


百度后


还需要一个依赖

jsp中c标签的引入

https://blog.csdn.net/zgahlibin/article/details/72589952


再加一个


运行成功  

(忽略乱码部分,前面出的错误 已经解决)



点击删除  31


使用了redirect重定向

执行完删除命令     再执行查询所有用户方法

再显示出页面


//    提交删除按钮
   @RequestMapping(value = "/delete/{id}" )
public ModelAndView deleteid(@PathVariable(value = "id") long id) {
ModelAndView mv = new ModelAndView();

       studentMapper.deleteStudentId(id);
       System.out.print("要删除的用户id为:" +id);
       logger.info("要删除的用户id为:" +id);

//
//        mv.addObject("code", 0);
//        mv.addObject("message", "删除成功");
       mv.setViewName("redirect:/student");

       System.out.print("删除成功");
       return mv;
   }


点击删除  31不见了



修改  ID为13的内容


//    先查询要修改学员的id,  获取所有信息
   @RequestMapping(value = "/up/{id}", method = RequestMethod.GET)
public ModelAndView put(@PathVariable("id") long id) {
ModelAndView mv = new ModelAndView();
       Student student = studentMapper.selectStudentId(id);
       mv.addObject("s",student);
       mv.setViewName("forput");
       return mv;
   }


for put.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<html>
<head>
<title>更改</title>
</head>
<body>
<br>请更改学员姓名</br>
</br>
</br>
<form action="/student/update" method = "POST"">
 <td>更改学生ID:<input ="text"  name="id" value="${s.id}"></td>
<td>需要更改的更改学生姓名: <input = "text"  name="name"  value ="${s.name}"></td>
<td>需要更改的更改学生qq: <input = "text"  name="qq"  value ="${s.qq}"></td>
<td>需要更改的更改学生学习类型: <input = "text"  name="type"  value ="${s.type}"></td>
<td>需要更改的更改学生入学时间<input = "text"  name="time"  value ="${s.time}"></td>
<td>需要更改的更改学生学号: <input = "text"  name="stunum"  value ="${s.stunum}"></td>
<td>需要更改的更改学生日报: <input = "text"  name="daily"  value ="${s.daily}"></td>
<td>需要更改的更改学生愿望: <input = "text"  name="wish"  value ="${s.wish}"></td>
<td>需要更改的更改学生师兄: <input = "text"  name="senior"  value ="${s.senior}"></td>
<input type="submit" value="确认">
</form>
</body>
</html>


forput.jsp   页面

(id   可以在表格里 用    type= hidden隐藏)



提交后到下个方法    也用了重定向


//表单提交后跳转到此处
@RequestMapping(value = "/update")
public ModelAndView update(Student student) {

ModelAndView mv = new ModelAndView();

   studentMapper.updateStudent(student);

   mv.setViewName("redirect:/student");

   return mv;
}
}


修改完     就一姓名改成功了  


刚开始我以为步骤出错了  


试了两遍还是一样   再检查了一遍


然后想起来    我这SQL函数   就是只改姓名   


那没事了.. 


明天计划的事情:


完成表格的编写    添加增加选项   


看了看别人写的分页方法

完全看不懂       明天先抄一遍看能不能成功



返回列表 返回列表
评论

    分享到