我正在使用Thymeleaf作为视图技术开发Spring启动应用程序。我在src / main / resources / templates文件夹中有一个html页面dashboard.html,它是从控制器内部调用的。
@PostMapping("/users/register")
public String registerUser(@Validated @ModelAttribute User user, Model model) {
User registeredUser = usersDAO.registerUser(user);
if (registeredUser == null) {
return "500error";
}
model.addAttribute("name", user.getName());
model.addAttribute("username", user.getUsername());
model.addAttribute("emailId", user.getEmailId());
return "dashboard";
}
我在static
文件夹中有一些更多的静态html文件。我想从静态html文件中调用dashboard.html
,例如使用锚标记<a/>
。怎么办呢?
当我的应用在本地运行时,我无法直接链接到此文件。例如:localhost:8080/templates/dashboard.html
无效。
答案 0 :(得分:2)
您应该为thymeleaf
html模板创建一个控制器。例如:
@Controller
@RequestMapping("/templates")
public class DashboardController {
@GetMapping("/dashboard")
public ModelAndView dashboard() {
DashboardModel dashboardModel = new DashboardModel();
return new ModelAndView("dashboard", "dashboard", dashboardModel);
}
}
然后,您可以链接到http://localhost:8080/templates/dashboard
并获取dashboard.html页面。
当然,您可以根据需要更改@RequestMapping("/templates")
和@GetMapping("/dashboard")
来控制网址。