文章目录
一、项目准备
(1)界面展示
http://localhost:8080/ssm03/deptv2/listUI
(2)复制工程
【源代码:基础的增删改查(部门)】
在原有代码基础上,修改项目名称为ssm03_crud--ajax
,添加新的技术手段,模块标签
(3)Controller方法返回值类型Object
- Controller方法返回类型可以有几种?
ModelAndView
void
String
Object - @ResponseBody
调jackson库将Object转成json字符串返回
如果没有依赖jackson库则,抛出异常
HttpMessageNotWritableException: No converter found for return value of type: class java.util.ArrayList
- 依赖配置jackson库
pom.xml
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.3</version>
</dependency>
(4)Controller方法返回Result
- (src\main\java\com\smp\domain\Result.java)
public class Result {
//编码 404 200
private int code;
//提示信息
private String msg;
//数据
private Object data;
public static Result init(int code, String msg, Object data){
Result result=new Result(code,msg,data);
return result;
}
public Result() {
}
public Result(int code, String msg, Object data) {
this.code = code;
this.msg = msg;
this.data = data;
}
@Override
public String toString() {
return "Result{" +
"code=" + code +
", msg='" + msg + '\'' +
", data=" + data +
'}';
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
}
- (src\main\java\com\smp\controller\DepartmentV2Controller.java)
@Controller
@RequestMapping("/deptv2")
public class DepartmentV2Controller {
private static final Logger l= LoggerFactory.getLogger(DepartmentV2Controller.class);
@Autowired
//controller调用service层
private IDepartmentService departmentService;
/*@RequestMapping(path="/xx",method= GET POST代表请求页面)
public 返回值类型 方法名(参数){ //页面提交过来的请求参数
//..
返回值类型决定返回给浏览器的内容
}
*/
//返回list界面
@RequestMapping(path = "/listUI",method = RequestMethod.GET)
public String listUI(){
return "list_depts";
}
//地址带UI表示打开界面,不代表是返回数据
@RequestMapping(path = "/list",method = RequestMethod.GET)
//将list调jackson转成json字符串
public @ResponseBody Object list(){
//业务逻辑 调用查找所有部门的方法
List<Department>