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层接口是不能进行方法重载的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2020-06-15 浅析mybatis懒加载导致无法序列化的问题、Json序列化对象时错误Could not write JSON: No serializer found for class
2020-06-15 正则表达式中 的$1,$2与实际应用
2018-06-15 深入理解VUE样式style层次分析
2017-06-15 浅析如何自定义Java异常类且修改返回http状态码及解决状态码始终是200的问题和303状态码理解