SpringMVC对JSP的支持---支持JSTL标签库

1.标签库

    JSP曾经是,而且现在依然还是Java领域占主导地位的视图技术。讲到JSP呢,标签库是必要讲的。 当为JSP添加功能时,标签库是一种很强大的方式,能够避免在脚本块中直接编写Java代码

     恩,比如JSTL标签库提供的循环<c:for>标签,判断<c:if>等标签。除了JSTL(JSP 标准标签库),Spring提供了两个标签库 用来帮助定义Spring MVC Web的视图。

    要使用某个标签库,要在JSP页面首先声明这些标签库,然后引入jar包,就可以使用了。

2.Spring对JSP标签库的支持--解析JSTL视图

       JSTL标签具体 不讲。只是说明下JSTL的格式化标签 和 JSTL的信息标签

       JSTL标签: JSTL的格式化标签需要一个Locale对象,便于恰当地格式化地域相关值,如日期和货币。

                          JSTL的信息标签 需要借助Spring的信息资源和Locale,从而选择适当的信息渲染到HTML之中。

      如上配置InternalResourceViewResolver会把 逻辑视图名 解析为InternalResourceView实例,这个实例会引用JSP文件。

      但是如果 JSP文件中 使用JSTL标签 来处理格式化 和 处理信息的话,希望InternalResourceViewResolver 把视图解析为JstlView实例。因为通过解析JstlView,JSTL标签能够获得Locale对象以及Spring中配置的信息资源

       所以InternalResourceView实例 和 JstlView实例的差别是: JstlView实例 JSP中引用了JSTL标签。

      让InternalResourceViewResolver将视图解析为JstlView 配置如下 设置viewClass属性 
 JavaConfig配置

@Bean
public ViewResolver viewResolver() { // 配置 试图解析器
    InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
	viewResolver.setPrefix("/WEB-INF/views/");
	viewResolver.setSuffix(".jsp");
        //解析成JstlView
	viewResolver.setViewClass(org.springframework.web.servlet.view.JstlView.class);
	viewResolver.setExposeContextBeansAsAttributes(true);
	return viewResolver;
}

XML配置 

 <!-- 视图解析器 -->
 <bean
   class="org.springframework.web.servlet.view.InternalResourceViewResolver">
   <property name="prefix" value="/WEB-INF/views/"></property>
   <property name="suffix" value=".jsp"></property>
   <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
</bean>

 

posted on 2019-04-23 14:42  dreamstar  阅读(107)  评论(0编辑  收藏  举报