`
prodream
  • 浏览: 102166 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

spring视图解析器

阅读更多

spring最常用的JSP/JSTL视图解析器是:

InternalResourceViewResolver和ResourceBundleViewResolve

首先看看InteralResourceViewResourceViewReslove在宠物店里的运用

DispatcherServlet配置如下

<servlet>

<servlet-name>petstore</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>petstore</servlet-name>

<url-pattern>*.do</url-pattern>

</servlet-mapping>

这样web请求的处理器会使用petstore-servlet.xml所配置的上下文

petstore.xml

...

<beans>

<bean id="viewResolver" class="org.springframework.web.servlet.InternalResourceViewResolver">

<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>

<property name="prefix" value="WEB-INF/jsp/spring"/>

<property name="suffix" value=".jsp"/>

</bean>

....

<bean id=defaultHandlerMapping" class="org.springframework.web.servlet.handle.BeanNameUrlHandlerMapping">

...

</bean>

<bean name="shop/viewCart.do" class="org.springframework.samples.jpetstore.web.spring.ViewCartController">

<property name="successView" value="Cart‘/>

</bean>

...

</beans>

说明;

1.在使用JSTL时,必须使用一个特殊的JstlView类,因为JstlView在执行类似i18n国际化的功能钱需要做一些初始化工作

2.将jsp文件置于WEB-INF下可以屏蔽客户端对他们直接反问

3.BeanNameUrlHandleMapping用于正确映射web请求和/shop/viewCart.do

4.InternalResourceViewResolve的几个便利属性简化了具有相同路径的扩展名的后续视图配置。可以简单使用Cart来对应"/WEB-INF/jsp/spring/Cart.jsp"

接着给出控制器、模型的代码片段

ViewCartController.jsp

...

public class ViewCartController implements Controller{

private String successView;

public void setSuccessView(String successView){

this.successView=successView;

}

public ModelAndView handleRequestSessionAttribute(HttpServletRequest request,HttpServletResponse reponse)

throws Exception {

...

Cart cart=(Cart) WebUtiles.getOrCeateSessionAttribute(request.getSesson(),"sessionCart",Cart.class)

....

return ModelAndView(this.successView,"cart",cart);

}

}

除了InternalResourceViewResolver,spring还提供了ResourceBundleViewResolver,它通过读取属性文件来映射视图类和url。使用ResourceBundleViewResolver的主要目的是为了混合使用多种视图技术

上面的petstore-servlet.xml可以改写为;

<beans>

...

<bean id="viewResolver" class="org.springframework.web.servlet.view.ResourceBundleViewResolve">

<property name="basename">

<value>views</value> //属性文件名为views.properties

</property>

</bean>

...

<bean id="defaultHandleMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

..

</bean>

<bean name="/shop/viewCart.do" class="org.springframework.samples.jpetstore.web.srping.ViewCartcontroller">

<property name="successView" value="Cart"/>

</bean>

...

</beans>

</beans>

<bean name="other.do" class="MyWebController">

<property name="successView" name="OtherView"/>

</bean>

</beans>

views.properties文件如下:

Cart.class=org.springframework.web.servlet.view.JstlView

Cart.url=/WEB-INF/vm/other.vm

OtherView.class=org.springframework.web.servlet.view.VelocityView

OtherView.url="WEB-INF/vm/other.vm

分享到:
评论

相关推荐

    Spring MVC--5.视图和视图解析器

    Spring MVC--5.视图和视图解析器

    Spring配置Freemarker视图解析器,配置多个视图解析器

    Spring配置Freemarker视图解析器,配置多个视图解析器

    SpringMVC-5 视图和视图解析器

    理解视图和视图解析器的解析流程、使用常用的InternalResourceView和JstlView、实现自定义视图、实现重定向操作

    velocity jsp多视图解析器整合

    整合velocity和jsp 通过不同视图解析器,返回不同视图

    Spring配置Freemarker视图解析器,前台页面全部使用freemarker渲染

    Spring配置Freemarker视图解析器,前台页面全部使用freemarker渲染

    Spring MVC中InternalResourceViewResolver视图解析器的默认行为.docx

    org.springframework.web.servlet.view.InternalResourceViewResolver视图解析器在默认情况下(没有对它做任何配置):默认会将类上的请求路径和方法返回的字符串组合起来得到jsp视图的完整路径

    Spring Boot应用配置常用相关视图解析器详解

    主要给大家介绍了关于Spring Boot应用配置常用相关视图解析器的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    SpringBoot项目中的视图解析器问题(两种)

    SpringBoot官网推荐使用HTML视图解析器,但是根据个人的具体业务也有可能使用到JSP视图解析器,所以本文介绍了两种视图解析器,感兴趣的可以了解下

    spring boot实战.pdf高清无水印

    2.1.2 Spring Boot项目构建过程解析 24 2.2 使用起步依赖 27 2.2.1 指定基于功能的依赖 28 2.2.2 覆盖起步依赖引入的传递依赖 29 2.3 使用自动配置 30 2.3.1 专注于应用程序功能 31 2.3.2 运行应用程序...

    Spring SpringMVC 简单整合

    Spring SpringMVC 简单整合(初学者参考) demo项目对应地址说明 :...ViewResolver:通过扩展视图解析器,支持更多类型的视图解析,例如:jsp、freemarker、pdf、excel等。

    SpringMVCSetup:Spring MVC初始项目。 它包含基本的json,xml视图解析器

    SpringMVC设置 Spring MVC初始项目。 它包含基本的json,xml视图解析器

    Spring-mvc,例题

    -- 视图解析器,经返回的逻辑视图解析为物理视图 --&gt; &lt;bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"&gt; &lt;property name="prefix" value="/"&gt;&lt;/property&gt; ...

    Spring MVC 3.0实战指南.ppt

    基于协商的视图解析器 目录 本地化:基础原理 本地化:Spring MVC的本地化解析器 本地化:Spring MVC的本地化解析器 LocaleChangeInterceptor:通过URL参数指定 静态资源处理 静态资源处理:使REST风格的URL成为实现 ...

    Spring 控制器的简单应用(MutilAction)

    MutilAction多控制解析 SpringMVC Spring控制器 ,及视图解析器的配置

    Spring3MVC注解教程.ppt

    基于协商的视图解析器 目录 本地化:基础原理 本地化:Spring MVC的本地化解析器 本地化:Spring MVC的本地化解析器 LocaleChangeInterceptor:通过URL参数指定 静态资源处理 静态资源处理:使REST风格的URL成为...

    java spring mvc

    5)Spring MVC处理流程 a.... d.ModelAndView里包含了响应View和数据信息,主控制器调用ViewResolver视图解析器根据ModelAndView的内容寻找View组件,生成响应 e.主控制器将响应内容给客户浏览器输出

    Spring MVC.pptx

    详细的Spring MVC教程,内容包括控制器 重定向 保存并获取属性参数 拦截器 表单标签和验证表单 视图和视图解析器 上传文件 数据转换和格式化

    Java之Spring Boot详解

     Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再...  4)配置视图解析器 (5)开发 Controller

    Spring MVC学习教程之视图深入解析

    主要给大家介绍了关于Spring MVC学习教程之视图解析的相关资料,文中通过示例代码介绍的非常详细,对大家学习或使用spring mvc具有一定的参考学习价值,需要的朋友们下面来一起看看吧

    Spring面试题

    spring面试题 一、spring工作原理: 1.spring mvc请所有的请求都提交给...5.Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象 6.视图对象负责渲染返回给客户端。

Global site tag (gtag.js) - Google Analytics