代码改成这样后查找单个出错

来源:6-7 -持久化数据到MySQL

15rjgcw

2018-11-20

org.springframework.expression.spel.SpelEvaluationException: EL1008E: Property or field 'id' cannot be found on object of type 'java.util.Optional' - maybe not public or not valid?
	@GetMapping("{id}")
	public ModelAndView view(@PathVariable("id") Long id, Model model) {
		Optional<User> user = userRepository.findById(id);
		model.addAttribute("user", user);
		model.addAttribute("title", "查看用户");
		return new ModelAndView("users/view","userModel",model);
	}
写回答

3回答

老卫

2018-11-20

类型不对啊啊,是要返回 User 不是返回 Optional<User> 。

你还是改为跟课程一致的版本吧。~

0
1
15rjgcw
不行,我喜欢新版本
2018-11-20
共1条回复

慕粉3255313

2019-03-16

改为findById(id).get()就可以了

0
0

15rjgcw

提问者

2018-11-20

我又知道了

返回的是个容易,需要用get()方法得到对象

model.addAttribute("user", user.get());

0
1
老卫
新版本的返回的是Optional
2019-03-17
共1条回复

基于Spring Boot技术栈博客系统企业级前后端实战

毕设 Elasticsearch搜索+Thymeleaf模板+JPA+Security+BootStrap

1296 学习 · 738 问题

查看课程