/** * 获取年级列表 * @param name * @param page * @return */ @RequestMapping(value="/get_list",method=RequestMethod.POST) @ResponseBody public Map<String, Object> getList( @RequestParam(value="name",required=false,defaultValue="") String name, Page page ){ Map<String, Object> ret = new HashMap<String, Object>(); Map<String, Object> queryMap = new HashMap<String, Object>(); queryMap.put("name", "%"+name+"%"); queryMap.put("offset", page.getOffset()); queryMap.put("pageSize", page.getRows()); ret.put("rows", gradeService.findList(queryMap)); ret.put("total", gradeService.getTotal(queryMap)); return ret; }翻译代码
时间: 2024-03-07 11:52:50 浏览: 78
这段代码是一个控制器中的 getList() 方法,用于获取年级列表数据。具体内容如下:
1. 使用 @RequestMapping 注解标注该方法的请求路径为 /get_list,请求方法为 POST。
2. 使用 @ResponseBody 注解将方法的返回值转换为 JSON 格式,并作为响应返回。
3. 方法的参数包括一个名为 name 的字符串类型参数和一个名为 page 的 Page 类型参数。
4. 在方法中,创建了一个 Map 对象 ret 和一个 Map 对象 queryMap。
5. 将 name 参数的值设置为 queryMap 的 name 属性,并在该值前后添加 % 作为通配符。
6. 将 page 参数的 offset 和 rows 属性设置为 queryMap 的 offset 和 pageSize 属性。
7. 调用 gradeService 的 findList() 方法,将 queryMap 作为参数传递给该方法,将其返回值设置为 ret 的 rows 属性。
8. 调用 gradeService 的 getTotal() 方法,将 queryMap 作为参数传递给该方法,将其返回值设置为 ret 的 total 属性。
9. 返回 ret 对象。
总的来说,该方法是一个用于获取年级列表数据的控制器方法,将查询参数封装到 Map 对象中,调用 Service 层方法获取数据,并将结果封装到 Map 对象中返回。
相关问题
@RequestMapping(value="/get_list",method=RequestMethod.POST) @ResponseBody public Map<String, Object> getList( @RequestParam(value="name",required=false,defaultValue="") String name, @RequestParam(value="gradeId",required=false) Long gradeId, Page page ){ Map<String, Object> ret = new HashMap<String, Object>(); Map<String, Object> queryMap = new HashMap<String, Object>(); queryMap.put("name", "%"+name+"%"); if(gradeId != null){ queryMap.put("gradeId", gradeId); } queryMap.put("offset", page.getOffset()); queryMap.put("pageSize", page.getRows()); ret.put("rows", clazzService.findList(queryMap)); ret.put("total", clazzService.getTotal(queryMap)); return ret; }给这段代码加上注释
```
/**
* 获取班级列表
* @param name 班级名称
* @param gradeId 年级ID
* @param page 分页信息
* @return 包含班级列表和总记录数的 Map 对象
*/
@RequestMapping(value="/get_list",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> getList(
@RequestParam(value="name",required=false,defaultValue="") String name, // 班级名称,可选参数,默认为空字符串
@RequestParam(value="gradeId",required=false) Long gradeId, // 年级ID,可选参数
Page page // 分页信息
){
Map<String, Object> ret = new HashMap<String, Object>(); // 创建返回结果的 Map 对象
Map<String, Object> queryMap = new HashMap<String, Object>(); // 创建查询条件的 Map 对象
queryMap.put("name", "%"+name+"%"); // 将班级名称添加到查询条件中,使用 % 模糊匹配
if(gradeId != null){ // 如果年级ID不为空
queryMap.put("gradeId", gradeId); // 将年级ID添加到查询条件中
}
queryMap.put("offset", page.getOffset()); // 将分页信息的偏移量添加到查询条件中
queryMap.put("pageSize", page.getRows()); // 将分页信息的每页记录数添加到查询条件中
ret.put("rows", clazzService.findList(queryMap)); // 将班级列表添加到返回结果的 Map 对象中
ret.put("total", clazzService.getTotal(queryMap)); // 将班级记录总数添加到返回结果的 Map 对象中
return ret; // 返回包含班级列表和总记录数的 Map 对象
}
```
注释已经添加在代码中。
接上面代码,在com.javaee.ex12.po包中创建实体类Book,包含String类型的bname,pub分别对应教材名称,出版社。float类型的price对应价格。然后在com.javaee.ex12.po包创建实体类CourseEx,其中包含int类型的cno,period分别对应课程编号和学时数,String类型的cname,bname,pub分别对应课程名称,教材名称,出版社。下一步,在控制器类CourseController中,添加处理方法toCourseAddPojoNest和CourseAddPojoNest。在CourseAddPojoNest方法中,以POJO方式绑定数据。下一步,在“WEB-INF/pages/course”目录中,创建add_course_pojo_nest.jsp文件,将add_course_pojo.jsp文件中的内容复制过来,注意,<form/>元素的action属性值要与处理器方法courseAddPojoNest的映射路径一致,给出对应代码。下一步,在“WEB-INF/pages/course”目录中,创建course_info_pojo_nest.jsp文件,以EL方式显示请求域中的对象,给出对应代码。下一步,在index.jsp文件中,添加跳转至处理器方法toCourseAddPojoNest的链接,给出对应代码。 创建实体类com.javaee.ex12.po.Student,其中包含String类型的sno,sname对应学号,姓名。int类型的age对应年龄,以及List<String> courseList对应课程表。
Book.java代码:
```java
package com.javaee.ex12.po;
public class Book {
private String bname;
private String pub;
private float price;
public String getBname() {
return bname;
}
public void setBname(String bname) {
this.bname = bname;
}
public String getPub() {
return pub;
}
public void setPub(String pub) {
this.pub = pub;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
}
```
CourseEx.java代码:
```java
package com.javaee.ex12.po;
public class CourseEx {
private int cno;
private String cname;
private int period;
private Book book;
public int getCno() {
return cno;
}
public void setCno(int cno) {
this.cno = cno;
}
public String getCname() {
return cname;
}
public void setCname(String cname) {
this.cname = cname;
}
public int getPeriod() {
return period;
}
public void setPeriod(int period) {
this.period = period;
}
public Book getBook() {
return book;
}
public void setBook(Book book) {
this.book = book;
}
}
```
CourseController.java代码:
```java
package com.javaee.ex12.controller;
import com.javaee.ex12.po.CourseEx;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
@RequestMapping("/course")
public class CourseController {
@RequestMapping(value = "/toCourseAddPojoNest", method = RequestMethod.GET)
public String toCourseAddPojoNest(Model model) {
model.addAttribute("courseEx", new CourseEx());
return "course/add_course_pojo_nest";
}
@RequestMapping(value = "/courseAddPojoNest", method = RequestMethod.POST)
public String courseAddPojoNest(@ModelAttribute("courseEx") CourseEx courseEx) {
return "redirect:/course/courseInfoPojoNest?cname=" + courseEx.getCname() + "&period=" + courseEx.getPeriod() + "&bname=" + courseEx.getBook().getBname() + "&pub=" + courseEx.getBook().getPub() + "&price=" + courseEx.getBook().getPrice();
}
@RequestMapping(value = "/courseInfoPojoNest", method = RequestMethod.GET)
public String courseInfoPojoNest() {
return "course/course_info_pojo_nest";
}
}
```
add_course_pojo_nest.jsp代码:
```jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>添加课程</title>
</head>
<body>
<h3>添加课程</h3>
<form action="/course/courseAddPojoNest" method="post">
<table>
<tr>
<td>课程名称:</td>
<td><input type="text" name="cname"/></td>
</tr>
<tr>
<td>学时数:</td>
<td><input type="text" name="period"/></td>
</tr>
<tr>
<td>教材名称:</td>
<td><input type="text" name="book.bname"/></td>
</tr>
<tr>
<td>出版社:</td>
<td><input type="text" name="book.pub"/></td>
</tr>
<tr>
<td>价格:</td>
<td><input type="text" name="book.price"/></td>
</tr>
</table>
<input type="submit" value="添加"/>
</form>
</body>
</html>
```
course_info_pojo_nest.jsp代码:
```jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>课程信息</title>
</head>
<body>
<h3>课程信息</h3>
<table>
<tr>
<td>课程名称:</td>
<td>${param.cname}</td>
</tr>
<tr>
<td>学时数:</td>
<td>${param.period}</td>
</tr>
<tr>
<td>教材名称:</td>
<td>${param.bname}</td>
</tr>
<tr>
<td>出版社:</td>
<td>${param.pub}</td>
</tr>
<tr>
<td>价格:</td>
<td>${param.price}</td>
</tr>
</table>
</body>
</html>
```
Student.java代码:
```java
package com.javaee.ex12.po;
import java.util.List;
public class Student {
private String sno;
private String sname;
private int age;
private List<String> courseList;
public String getSno() {
return sno;
}
public void setSno(String sno) {
this.sno = sno;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public List<String> getCourseList() {
return courseList;
}
public void setCourseList(List<String> courseList) {
this.courseList = courseList;
}
}
```
阅读全文