码迷,mamicode.com
首页 > 编程语言 > 详细

springMVC 视图整合(1)

时间:2014-12-31 18:34:03      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:

          Spring为在Web MVC应用程序中很可能要用到的大多数视图技术提供了一流的支持。

          SpringMVC同时支持多视图例如JSPVelocity,Freemarker等。通过不同的请求路径配置规则,映射到不同的视图文件。通过Controller返回的视图模型将页面显示出来。

 

JSP

          JSP被编译为servlet并拥有完整的java语言能力,因此领域逻辑甚至数据访问逻辑都可以方便的被编码为JSP。应用程序的JSP都被放在war文件的WEB-INF目录中,客户访问不到。也就是JSPController生成的模型显示出来。

        上一篇博客写过了访问WEB-INF目录下JSP的配置。

          Controller的模型代码:

@RequestMapping("/add")
public String  addStudent(Student student,HttpServletRequestrequest){
 
    studentBean.save(student);
    return"/list";                
}

        在配置访问JSP的配置文件的时候,需要配置idViewResolver的属性,它制定将要使用的View实现类,并指定将要加在逻辑名称前后的前缀和后缀。因此当DispatcherServlet请求解析器的View的名称时,后者就会返回一个包装JSP的对象,JSP定位在/WEB-INF/jsp/list.jsp中。

 

模板技术

         VelocityFreemarker都是模板技术。他们是纯碎基于文本的引擎,两者都广泛用于产生文本输出的各种应用程序中。

        JSp不同的是,模板不被编译到Java类中,而是由其各自的模板引擎来解释。

        优点:使得表现层和业务逻辑层分离。

                     模板+数据模型=输出。模板只负责数据在页面中的表现,不涉及任何的逻辑代码,所有的逻辑由数据模型处理。

                  不能轻易突破模板语言而编写Java代码。

                     

        缺点:需要修改模板后,如果不及时更新HTML页也会出旧数据。

配置:

<!--velocity配置 start 刘腾腾-->
<beanid="velocityResolver"
     class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
  <property name="prefix"value=""/>
  <property name="suffix"value=".vm"/>
</bean>
<!--velocity配置  end  刘腾腾-->
 
<!--freemarker配置  start 刘腾腾-->
<beanid="freemarkerResolver"
     class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
  <property name="prefix"value=""/>
  <property name="suffix"value=".ftl"/>
</bean>
<!--freemarker配置 end 刘腾腾-->


总结:

         SpringMVC对多视图层的支持还是很灵活的,除了支持JSpVelocity,Freemarker这种模板之外,还可以写自己的视图类型。这些视图原理上也是大同小异,通过不同的配置,最终将想要的结果显示出来。

     

      下面继续写具体的实现,敬请期待!

springMVC 视图整合(1)

标签:

原文地址:http://blog.csdn.net/liutengteng130/article/details/42296501

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!