遇到的问题
问题分析
RoleController代码:
@RestController @RequestMapping("/role") @Slf4j public class RoleController { @Autowired RoleService roleService; @RequestMapping("list") String list(ModelMap modelMap, Page page , @ModelAttribute("role") Role role) { log.debug("查询列表"); //调试的代码 System.out.println("RoleController.list"); page = roleService.pageList(page, role); modelMap.addAttribute("page", page); return "role/role_list"; } }
1、首先我们要知道
@RestController
等价于↓
@ResponseBody
@Controller
2、我们返回的页面是map或者json或者list的时候应该加上@ResponseBody,但是!!!!如果想要返回jsp界面的时候就不能加@ResponseBody,由于手快把@Controller错写成@RestController了,所以导致返回的界面是个字符串而不是我们想要的jsp页面。
解决办法
把@RestController换成@Controller就可以了。
RoleController代码:
@Controller //写@Controller @RequestMapping("/role") @Slf4j public class RoleController { @Autowired RoleService roleService; @RequestMapping("list") String list(ModelMap modelMap, Page page , @ModelAttribute("role") Role role) { log.debug("查询列表"); //调试的代码 System.out.println("RoleController.list"); page = roleService.pageList(page, role); modelMap.addAttribute("page", page); return "role/role_list"; } }
解决效果
以上就是遇到Controller层返回页面的时候返回的是字符串不是jsp页面的解决办法【细节坑】的全部内容。