当前位置: 首页 > 知识库问答 >
问题:

解析模板“home”时出错,模板可能不存在,或者任何已配置的模板解析程序都无法访问模板

荀靖
2023-03-14

我使用mvc+java HttpServlet+Thymeleaf模板,但它是错误的。文件home.html已经存在。

我的代码如下:

        ServletContextTemplateResolver templateResolver 
                    = new ServletContextTemplateResolver();
        // XHTML is the default mode, but we will set it anyway for better understanding of code
        templateResolver.setTemplateMode("HTML5");
        templateResolver.setPrefix("D:\\development\\projects\\fpt.eclick.framework.web.thyme\\views\\");
        templateResolver.setSuffix(".html");
        templateResolver.setCacheTTLMs(3600000L);
        TemplateEngine templateEngine = new TemplateEngine();
        templateEngine.setTemplateResolver(templateResolver);
        WebContext ctx = new WebContext(request, response, request.getServletContext(), request.getLocale());

        try {
            templateEngine.process("home", ctx, response.getWriter());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        response.setContentType("text/html;charset=UTF-8");
        response.setHeader("Pragma", "no-cache");
        response.setHeader("Cache-Control", "no-cache");
        response.setDateHeader("Expires", 1000);

与Freemarker我使用类似,它做得很好。

非常感谢

共有1个答案

仲孙俊贤
2023-03-14

问题在于模板目录的位置(前缀)。将其更改为web应用程序上下文根中可用的内容,例如/WEB-INF/templates

 类似资料: