zoukankan      html  css  js  c++  java
  • SpringMVC 配置视图解析器

    通常我们如下来进行视图解析器配置:

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

    此时的 InternalResourceViewResolver 解析组件,默认将解析出 org.springframework.web.servlet.view.InternalResourceView 视图。

    如果在classpath中添加相应的jstl包,如下:

            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jstl</artifactId>
                <version>1.1.2</version>
            </dependency>
    

    此时的 InternalResourceViewResolver 解析组件,默认将解析出 org.springframework.web.servlet.view.JstlView 视图。

    原理如下(如果jstlPresent为true):

    private static final boolean jstlPresent = ClassUtils.isPresent(
    			"javax.servlet.jsp.jstl.core.Config", InternalResourceViewResolver.class.getClassLoader());
    
    	/**
    	 * Sets the default {@link #setViewClass view class} to {@link #requiredViewClass}:
    	 * by default {@link InternalResourceView}, or {@link JstlView} if the JSTL API
    	 * is present.
    	 */
    	public InternalResourceViewResolver() {
    		Class<?> viewClass = requiredViewClass();
    		if (InternalResourceView.class == viewClass && jstlPresent) {
    			viewClass = JstlView.class;
    		}
    		setViewClass(viewClass);
    	}
    

    我们可以指定要使用的视图类(在InternalResourceViewResolver解析组件中配置viewClass属性,来指定要解析出的视图类):

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

    也可以不指定视图类,直接添加jstl包,框架会默认使用jstlview

    InternalResourceViewResolver
    使用InternalResourceViewResolver
  • 相关阅读:
    课程的正确步调——Leo鉴书74
    poj(1011)——Sticks(经典的dfs+剪枝)
    怎样去除JSP页面提示:Cannot return from outside a function or method.
    SharePoint 2013 中代码创建列表查阅项字段
    王立平--GUI与GUILayout的差别
    zoj How Many Shortest Path
    QVector的内存分配策略
    java中基于TaskEngine类封装实现定时任务
    超越竞争对手的秘密武器-技术重用
    redis-2.6.16源码分析之pub-sub系统
  • 原文地址:https://www.cnblogs.com/hfultrastrong/p/12195849.html
Copyright © 2011-2022 走看看