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