ruoyi框架 controller调用另一个controller中的方法
时间: 2023-08-01 22:06:45 浏览: 250
在ruoyi框架中,一个Controller中的方法可以通过调用另一个Controller中的方法来实现代码复用。具体实现方式如下:
1. 首先,在需要被调用的Controller中定义一个公共方法,比如:
```java
@Controller
@RequestMapping("/dept")
public class SysDeptController extends BaseController {
@Autowired
private ISysDeptService deptService;
@RequestMapping(value = "/list", method = RequestMethod.GET)
public String list(ModelMap modelMap) {
// ...省略部分代码...
}
// 公共方法,供其他Controller调用
public List<SysDept> getDeptList() {
return deptService.selectDeptList(new SysDept());
}
}
```
在上面的代码中,定义了一个名为 "getDeptList" 的公共方法,可以供其他Controller调用。
2. 然后,在调用该方法的Controller中,通过@Autowired注解将需要调用的Controller注入到当前Controller中,比如:
```java
@Controller
@RequestMapping("/user")
public class SysUserController extends BaseController {
@Autowired
private SysDeptController deptController;
@RequestMapping(value = "/list", method = RequestMethod.GET)
public String list(ModelMap modelMap) {
List<SysDept> deptList = deptController.getDeptList();
// ...省略部分代码...
}
}
```
在上面的代码中,通过@Autowired注解将SysDeptController注入到当前SysUserController中,然后在 "list" 方法中调用 "getDeptList" 方法获取部门列表,实现了代码复用。
需要注意的是,在调用其他Controller中的方法时,需要通过注入的Controller对象调用方法,而不能直接调用。同时,被调用的方法需要设置为公共方法,以便其他Controller可以访问。
阅读全文