java - 使用 Spring MVC 提供静态内容并渲染 JSP

标签 java spring spring-boot spring-mvc jsp

我想提供静态内容,例如 host:8080/ 从/static 文件夹返回 index.html 和其他 html 文件,同时允许 从静态 signup.html 页面进行 POST 以生成呈现的 .jsp View 。

SpringBoot 开箱即用,使用默认的 ResourceResolver 为我的静态资源提供服务,但重定向并转发到我的 .jsp 资源会导致未渲染的 JSP。

这是 MVC 配置

@Configuration
@EnableWebMvc
public class MvcConfig implements WebMvcConfigurer{

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry
          .addResourceHandler("/**")
          .addResourceLocations("/resources/public");


    }

    @Override
    public void configureViewResolvers(ViewResolverRegistry registry) {
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/template/");
        resolver.setSuffix(".jsp");
        resolver.setViewClass(JstlView.class);
        registry.viewResolver(resolver);
    }

}

根据上面的代码定位文件:

src/main/resources/static
src/main/resources/templates

如何在维护静态文件夹的同时渲染我的 .jsp 文件?这是可能的还是我应该将我的网络内容移至网络服务器?

这与 Forward to JSP within Spring Controller after form submission 相关

这个问题似乎已经在 2010 年使用 Web 描述符和其他 XML 配置文件解决了问题 - How to handle static content in Spring MVC?

最佳答案

您这里有一个拼写错误。

尝试通过将模板更改为模板来更改为以下行。

resolver.setPrefix("/templates/")

关于java - 使用 Spring MVC 提供静态内容并渲染 JSP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58108586/

相关文章:

spring - OpenId 属性交换对 yahoo 不起作用?

java - 从 spring-boot 应用程序到 JBoss EAP6 HornetQ 主题的 JMS 连接失败

java - mybatis + spring boot 1.4.2 : MybatisAutoConfiguration$$EnhancerBySpringCGLIB Constructor threw exception NoUniqueBeanDefinitionException

java - 如何在 Netty 中处理 SSL 加密警报

java - 从对话框启动框架

java - 如何从 Netbeans 导出创建的 derby 数据库?

java - java中HashMap的ArrayList上的GroupBy

Spring Integration DefaultFtpsSessionFactory

java - Spring Boot 使用 Yaml 而不是属性文件

PreAuthorize 注释中的 Java 8/Spring 常量