Thymeleaf - 如何从静态html页面调用模板html页面

时间:2017-03-08 09:06:00

标签: java spring spring-boot thymeleaf

我正在使用Thymeleaf作为视图技术开发Spring启动应用程序。我在src / main / resources / templates文件夹中有一个html页面dashboard.html,它是从控制器内部调用的。

enter image description here

@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无效。

1 个答案:

答案 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")来控制网址。