java - 如何向 Spring MVC 添加前端

标签 java spring spring-mvc

我正在关注 this制作一个使用 JPA 访问数据的简单 MVC Spring 项目的教程。

现在我想添加一个前端,可能是一个 JSP 页面。

在我刚刚创建一个包含 web 文件夹的 Dynamic Web App 之前,我刚刚在 web.xml 中定义了 servlet-url 映射。见下图:

enter image description here

但是现在,项目结构不同了,我找不到任何关于如何在 Spring 项目中包含 Web 内容的好引用。

enter image description here

最佳答案

该教程使用 Spring Boot 启动 Spring MVC 项目。您正在手动进行。因此,您将需要查看解析器 bean 定义。将您的 JSP 放入 WEB-INF 文件夹并添加此 bean 定义:

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix">
            <value>/WEB-INF/</value>
        </property>
        <property name="suffix">
            <value>.jsp</value>
        </property>
</bean>

或者,如果您是通过注释来完成的:

@Bean
public InternalResourceViewResolver internalResourceViewResolver (){
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/");
        resolver.setSuffix(".jsp");
        return resolver;
}

此外,可能值得一提的是,如果您实际上正在使用 Spring Boot 来启动 Spring MVC 项目,并且如果您想使用类似 Thymeleaf 模板引擎,那么您甚至不必创建 View 解析器 bean 定义。 Spring Boot 将扫描您的类路径并为 Thymeleaf 创建默认的内部 View 解析器。

关于java - 如何向 Spring MVC 添加前端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34599092/

相关文章:

java - 无法解析为 jodatime

Java 数组列表错误?

java - spring 集成中的运行时可配置动态路由

mysql - JPA和MySQL : Knowing if start and end dates are aligned in a group by clause

java.lang.NoClassDefFoundError : org/springframework/cloud/test/TestSocketUtils after upgrading Spring Boot version to 3. x

java - 如何忽略 webservice junit 测试中的验证/ConstraintValidator?

java - 如何在满足条件后停止值事件监听器的监听

java - 如何使依赖注入(inject)对组件起作用

java - Spring表单标签和模型绑定(bind)转义

java - 伊巴蒂斯 : Is there a way of adding a rowhandler in an Ibatis resultmap subselect within the sqlmap xml?