gpt4 book ai didi

java - 同时包含 HTML 和 JSP ViewResolvers

转载 作者:行者123 更新时间:2023-11-30 03:22:31 24 4
gpt4 key购买 nike

我正在尝试在应用程序中使用 Thymeleaf 的 ServletContextTemplateResolver 以及 InternalViewResolver 来解析 html我的 Controller 中返回了 jsp View 。我已将模板解析器的顺序设置为 0,因为具有最高顺序的解析器是链中的最后一个解析器:

    /** Thymeleaf HTML Template View Resolver **/
@Bean
public ServletContextTemplateResolver getServletContextTemplateResolver() {
ServletContextTemplateResolver templateResolver = new ServletContextTemplateResolver();
templateResolver.setPrefix("/WEB-INF/html/");
templateResolver.setSuffix(".html");
templateResolver.setTemplateMode("HTML5");
templateResolver.setOrder(0);
return templateResolver;

}
/** JSP View Resolver **/
@Bean
public InternalResourceViewResolver getInternalResourceViewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/jsp/");
resolver.setSuffix(".jsp");
resolver.setOrder(1);
return resolver;
}

但是我的 View 总是解析为 html。是否可以包含额外的逻辑(或者可能解析器配置不正确?)或传递给我的 ModelAndView 对象,以确保我的 jsp View 映射到内部 View 解析器,并且 html vies 映射到我的模板解析器?即像 ModelAndView mav = new ModelAndView("mypage.html");//当然解析为 mypage.html.jsp 。

最佳答案

对于 ServletContextTemplateResolver(即 TemplateResolver 的实现),您可以为其应忽略的文件指定“模式”。

试试这个方法:see here for any other applicable method

public void setResolvablePatterns(Set<String> resolvablePatterns)

更新

看起来与 Spring App 一起使用的 ThymeLeaf Resolver 完全不同:org.thymeleaf.spring4.view.ThymeleafViewResolver

查看此处定义的 bean: http://www.thymeleaf.org/doc/tutorials/2.1/thymeleafspring.html#views-and-view-resolvers-in-spring-mvc

<bean class="org.thymeleaf.spring4.view.ThymeleafViewResolver">
<property name="templateEngine" ref="templateEngine" />
<property name="order" value="1" />
<property name="viewNames" value="*.html,*.xhtml" />
</bean>

关于java - 同时包含 HTML 和 JSP ViewResolvers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31004325/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com