溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBoot 同時整合thymeleaf html、vue html和jsp-在線助手

發(fā)布時間:2020-08-13 23:03:04 來源:ITPUB博客 閱讀:317 作者:陳守印 欄目:編程語言
問題描述
SpringBoot如何同時訪問html和jsp
SpringBoot訪問html頁面可以,訪問jsp頁面報錯
SpringBoot如何同時整合thymeleaf html、vue html和jsp
java web spring mvc項目如何同時訪問html和jsp


解決辦法:配置多視圖實現的視圖解析器

步驟一、新建一個ViewResolverConfiguration,下面是網站 在線助手 的具體實現:

/**
 * 主要配置多視圖實現的視圖解析器相關bean實例
 *
 * http://www.it399.com/
 *
 * 其實關鍵點在于兩個:
 * 1、配置order屬性
 * 2、配置viewnames屬性
 *
 * 注意:
 * return new ModelAndView("jsps/index");//或者return "jsps/index"
 * 對應 /WEB-INF/jsps/index.jsp
 * ==========================
 * 同理:
 * return "thymeleaf/index";//或者return “thymeleaf/index”
 * 對應 /WEB-INF/thymeleaf/index.html
 *
 *
 */
@Configuration
public class ViewResolverConfiguration {

    @Configuration//用來定義 DispatcherServlet 應用上下文中的 bean
    @EnableWebMvc
    @ComponentScan("com.csy.spring")
    public class WebConfig extends WebMvcConfigurerAdapter {
        @Bean
        public ViewResolver viewResolver() {
            InternalResourceViewResolver resolver = new InternalResourceViewResolver();
//            resolver.setPrefix("/WEB-INF/");
//            resolver.setSuffix(".jsp");
//            resolver.setViewNames("jsps/*");
            resolver.setPrefix("/");
            resolver.setSuffix(".jsp");
            resolver.setViewNames("*");
            resolver.setOrder(2);
            return resolver;
        }

        @Bean
        public ITemplateResolver templateResolver() {
            SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
            templateResolver.setTemplateMode("HTML5");
            templateResolver.setPrefix("/templates/");
            templateResolver.setSuffix(".html");
            templateResolver.setCharacterEncoding("utf-8");
            templateResolver.setCacheable(false);
            return templateResolver;
        }

        @Bean
        public SpringTemplateEngine templateEngine() {
            SpringTemplateEngine templateEngine = new SpringTemplateEngine();
            templateEngine.setTemplateResolver(templateResolver());
            // templateEngine
            return templateEngine;
        }

        @Bean
        public ThymeleafViewResolver viewResolverThymeLeaf() {
            ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
            viewResolver.setTemplateEngine(templateEngine());
            viewResolver.setCharacterEncoding("utf-8");
            viewResolver.setOrder(1);
            //viewResolver.setViewNames(new String[]{"thyme/*"});
            viewResolver.setViewNames(new String[]{"thymeleaf/*","vue/*"});
            return viewResolver;
        }

        @Override
        public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
            configurer.enable();
        }

        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            super.addResourceHandlers(registry);
        }
    }


}

步驟二、測試類:

@Controller
public class IndexController {
    @GetMapping("/testJsp")
    public String testJsp(Model model) {
        model.addAttribute("message", "this is index jsp page");
        return "index";
    }

    @GetMapping("/testThemleaf")
    public String testThemleaf(Model model) {
        model.addAttribute("message", "this is index jsp page");
        return "thymeleaf/test";
    }

    @GetMapping("/testVue")
    public String testVue(Model model) {
        model.addAttribute("message", "this is index jsp page");
        return "vue/testVue";
    }


}


測試結果:訪問 在線助手|在線工具|在線生成|在線制作,或者輸入以下鏈接

jsp頁面 http://www.it399.com/index.jsp
thymeleaf模板頁面 http://www.it399.com/blog/web/201805031726
vue搭建的頁面 http://www.it399.com/blog/web/Web201805041746

均正常顯示

這樣springboot就可以同時支持訪問jsp頁面和html頁面了。


本文同步發(fā)布在 在線助手|在線工具|在線生成|在線制作 ,轉載請注明來自 在線助手 博客頻道【SpringBoot 同時整合thymeleaf html、vue html和jsp】,原文鏈接 http://www.it399.com/blog/web/201805041746
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI