SpringBoot報錯處理:Exception processing template "XXX": Error resolving template [XXX]、expression expected找不到符號的錯誤、illegal escape character in String literal、Dao層方法不能重載


一、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層接口是不能進行方法重載的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM