我有以下Spring Boot项目结构(使用Thymeleaf) -

现在,当我尝试从index.html引用defect-details.html时,找不到它。我尝试了以下所有选项,但都没有用:
1.<a th:href="@{/defect-details.html}">
2.<a th:href="@{defect-details.html}">
3.<a href="defect-details.html">
每次它都说There was an unexpected error (type=Not Found, status=404)。
请帮助查找问题。
发布于 2018-06-17 16:08:21
(正如JBNizet在评论中指出的)根据MVC设计架构,最好使用控制器来呈现视图,而不是视图到视图的链接。我所要做的就是用以下命令更新我的Controller类:
@RequestMapping("/defect-details")
public String defectDetails() {
return "defect-details";
}在Thymeleaf模板中:
<a th:href="@{defect-details}">发布于 2018-06-18 14:20:36
在Thymeleaf中,你总是可以使用HTML标签来链接两个页面,但是如果不先通过spring控制器,你就不能直接从一个HTML页面转到一个特定的HTML页面。您必须向Spring Controller发出请求,以便为您获取该页面。为了完成它:--
1.) <a href="defect-details.html"> //on your index.html
2.)在Spring Controller上获取以下请求,为您打开defect-details.html页面:
@RequestMapping("/defect-details")
public String defectDetails() {
return "defect-details"; //defect-details.html page name to open it
}发布于 2020-06-06 14:52:09
您还可以使用ModelAndView类:
@RequestMapping("/defect-details")
public ModelAndView defect-details(){
ModelAndView mv = new ModelAndView();
mv.setViewName("defect-details");
return mv;
}https://stackoverflow.com/questions/50891249
复制相似问题