0

我的视图解析器无法找到合适的 freemarker 模板时遇到问题。

有没有办法告诉解析器 bean 和/或 spring 输出它正在寻找的文件路径?

即,如果我的控制器返回“home”的视图名称,我希望输出类似于“/WEB-INF/views/home.ftl”。

我的 freemarker bean 定义如下:

    @Bean
public ViewResolver getViewResolver() {
    FreeMarkerViewResolver resolver = new FreeMarkerViewResolver();
    resolver.setCache(false);
    resolver.setPrefix("");
    resolver.setSuffix(".ftl");
    return resolver;

}

@Bean
public FreeMarkerConfig getFreemarkerConfig() {

    Properties props = new Properties();
    props.setProperty("number_format","0.##");
    props.setProperty("locale","en-GB");

    Configuration configuration =   new Configuration();
    configuration.setDefaultEncoding("UTF-8");

    FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();
    configurer.setFreemarkerSettings(props);
    configurer.setConfiguration(configuration);
    configurer.setTemplateLoaderPath("/WEB-INF/views/");

    return configurer;

}
4

1 回答 1

0

Junits 测试用例

@Test public void insert() 抛出异常 { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build(); mockMvc.perform(post("/insert")).andDo(print()) .andExpect(status().isOk()) .andExpect(forwardedUrl("/WEB-INF/test.jsp")); }

这里的“insert”将被替换为您的请求映射值,“page”将被替换为您期望 spring 将采用的相对位置

于 2013-07-13T18:09:15.533 回答