一、Exception processing template "XXX": Error resolving template [XXX]
springboot+thymeleaf中,訪問請求 user/login 時報錯,報錯內容如下:
: [THYMELEAF][http-nio-8080-exec-2] Exception processing template "user/login": Error resolving template [user/login], template might not exist or might not be accessible by any of the configured Template Resolvers org.thymeleaf.exceptions.TemplateInputException: Error resolving template [user/login], template might not exist or might not be accessible by any of the configured Template Resolvers at org.thymeleaf.engine.TemplateManager.resolveTemplate(TemplateManager.java:869) ~[thymeleaf-3.0.12.RELEASE.jar:3.0.12.RELEASE] at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:607) ~[thymeleaf-3.0.12.RELEASE.jar:3.0.12.RELEASE]
Java代碼塊
@Controller @AllArgsConstructor @RequestMapping("/user") public class UserController { private UserService userService; @PostMapping("/login") public void login(@RequestBody User user) { userService.login(user); } }
解決辦法:
1、由於用的是@Controller而非@RestController注解,所以這里返回json串,需要加上@ResponseBody注解即可,否則返回的是靜態頁面,而不是json串,由於沒有找到靜態頁面所以報錯;
@PostMapping(value = "/updateUser") @ResponseBody public void updateUser(User user){ userService.updateUserInfo(user); }
2、改用 @RestController 注解
二、expression expected找不到符號的錯誤
這個因為馬虎出錯,但是可以記錄下,以后遇到這樣的報錯就知道是怎么回事了。具體報錯如下:


改成這樣即可:上面的 return OperationInfo 寫錯了,應該是 return operation。
其實找不到符號,變量 OperationInfo,其實說的就是這個變量找不到了,那肯定是寫錯了。
三、illegal escape character in String literal
寫文件路徑的時候可以使用 / 作為分隔符或者File.separator,最好不用 \,因為這個斜杠用的時候需要在前面再加一個 \ 轉義,並且這個分隔符只對windows系統有用,局限性比較嚴重
Java里的正則表達式同理

應該是這樣的:phoneNum.matches("^1[2-9]\\d{9}$")
四、Dao層方法不能重載
在dao層中的方法是不可以重載的。
因為dao層中接口的方法名與xml中的標簽id值是一致的,所以一旦出現方法重載之后就可會出現相同的方法名,xml中的id也是重名的了,一運行系統就會報錯,所以mybaits中的dao層接口是不能進行方法重載的。
