java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringMVC配置JSP视图解析器

SpringMVC如何配置JSP视图解析器

作者:qq_25243147

这篇文章主要介绍了SpringMVC如何配置JSP视图解析器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

SpringMVC配置JSP视图解析器

介绍

(1)Tomcat中提供了JSPServlet负责处理JSP文件。

(2)SpringMVC默认有请求转发视图(forward:)和重定向视图(redirect:),我们可以利用请求转发视图,将JSP文件的视图解析任务交给JSPServlet处理,故配置JSP视图解析器实际上是配置请求转发视图解析器,同时可以配置视图解析器的前缀和后缀属性来减少冗余代码。

项目测试

(1)在/WEB-INF/templates下创建index.jsp文件

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h1>jsp</h1>
</body>
</html>

(2)编写SpringMVC-config.xml文件,配置JSP视图解析器

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
                           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
                           http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <context:component-scan base-package="com.wsh.controller"></context:component-scan>
    <!--配置JSP视图解析器-->
    <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/templates/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>

    <!--开启注解驱动,否则控制器中带有@RequestMapping的方法失效-->
    <mvc:annotation-driven/>
    <!--指定请求返回对应页面-->
    <mvc:view-controller path="/index" view-name="index"></mvc:view-controller>
</beans>

(3)运行

在springmvc框架中视图解析器都有哪些?

在Spring MVC框架中

常用的视图解析器有以下几种

除此之外,Spring MVC还提供了其他的视图解析器,如VelocityViewResolver、TilesViewResolver等。

根据不同的需求,可以选择不同的视图解析器来解析视图资源。

帮我列出这些视图解析器的一些具体用法

好的,下面是针对这些视图解析器的一些具体用法:

1. InternalResourceViewResolver:

该视图解析器通常用于解析JSP页面或者HTML页面,它会将视图名称解析为JSP文件所在的路径,并且支持JSTL标签库和EL表达式,常见的配置如下:

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

其中,prefix属性用于设置JSP文件所在的目录,suffix属性用于设置JSP文件的扩展名。

2. ResourceBundleViewResolver:

该视图解析器将视图名称解析为属性文件中定义的key值,并且根据key值在属性文件中获取对应的视图资源。

常见的配置如下:

<bean id="viewResolver" class="org.springframework.web.servlet.view.ResourceBundleViewResolver"> <property name="basename" value="views" /> </bean>

其中,basename属性用于指定属性文件的名称,该文件应该存放在classpath下。

比如,如果basename值为views,则Spring会在classpath下查找views.properties文件,该文件中定义了视图名称与视图资源之间的对应关系。

3. XmlViewResolver:

该视图解析器将视图名称解析为XML文件中定义的视图配置信息,并且根据配置信息生成对应的视图资源。

常见的配置如下:

<bean id="viewResolver" class="org.springframework.web.servlet.view.XmlViewResolver"> <property name="location"> <value>classpath:/views.xml</value> </property> </bean>

其中,location属性用于指定视图配置文件的路径,该文件中定义了视图名称与对应的视图资源之间的对应关系。

4. FreeMarkerViewResolver:

该视图解析器用于解析FreeMarker模板,将模板名称解析为FreeMarker模板文件所在的路径,并且将模型数据渲染到对应的模板中。

常见的配置如下:

<bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> <property name="prefix" value="/WEB-INF/ftl/" /> <property name="suffix" value=".ftl" /> <property name="contentType" value="text/html;charset=UTF-8" /> </bean>

其中,prefix属性用于设置FreeMarker模板文件所在的目录,suffix属性用于设置FreeMarker模板文件的扩展名,contentType属性用于指定生成的内容类型。

需要注意的是,以上视图解析器的使用需要结合具体场景来决定。

同时,Spring MVC还有其他的视图解析器,需要根据实际需求来选择合适的视图解析器。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文