我只在IDE的控制台中收到错误,网页看起来很棒。 我尝试使用th:if如果寻找null,但是没有摆脱这个问题。 并且标题永远不会为空,所以我不知道为什么我收到错误,再次只在控制台,网页,包括标题显示正常。 这是我在这个网站上的第一个问题,我一直在这里查看代码并找到很多很棒的答案,我想为什么不试着寻求帮助。我花了这么多时间在这个上面,似乎找不到其他人有同样的问题。
没有足够的空间来粘贴整个堆栈跟踪。但也会收到这个错误原因:
引起:org.thymeleaf.exceptions.TemplateProcessingException:评估SpringEL表达式的异常:“post.title”(模板:“post / view” - 第19行,第17行)
!DOCTYPE html>
<html lang="en"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org">
<head th:replace="main :: head"></head>
<!--<html lang="en"-->
<!--html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xmlns:layout:decorate="layouts/main.html">-->
<div th:replace="main :: main"> </div>
<body>
<article style="padding:20px">
<header>
<h2 th:text="${post.title}">title</h2>
<p th:text="${#calendars.format(post.postedOn,'M/dd/yyyy hh:mm a')}">postedOn</p>
</header>
<section th:utext="${post.body}">
body
</section>
<footer>
<address>
Posted By <a th:href="|mailto:${post.author.email}|"> <span th:text="|${post.author.firstName} ${post.author.lastName}|">author</span></a>
</address>
</footer>
<hr/>
</article>
</div>
<div th:replace="main :: bottom"> </div>
</body>
</html>
@Controller
@RequestMapping("/posts")
public class PostController {
private static final Logger logger = LoggerFactory.getLogger(PostController.class);
private PostService postService;
@Autowired
public PostController(PostService postService){
this.postService = postService;
}
@RequestMapping("/list")
public String listPosts(Model model){
model.addAttribute("posts", postService.list());
return "post/list";
}
@RequestMapping("/view/{slug}")
public String view(@PathVariable(value="slug") String slug, Model model) {
model.addAttribute("post", postService.getBySlug(slug));
return "post/view";
}
@RequestMapping("/byAuthor/{id}")
public String byAuthor(@PathVariable(value="id") Long id, Model model) {
model.addAttribute("posts", postService.listByAuthor(id));
return "post/list";
}
}
答案 0 :(得分:0)
问题似乎与此声明有关:此声明适用于我的所有其他HTML,而不会导致问题。这个html中的其他替换语句工作正常,它就是这个。我将head部分中的代码直接复制到此html文件中,而不是使用替换,它解决了问题。我不知道为什么。 -