商讯信箱
用户名: @
密  码:   注册|忘记密码
登录
个人用户经销商
您的位置:首页 > 技术频道 > 正文

【IT168技术文档】

Spring之所以出色的一个原因就是将表现层从MVC的框架中分离出来。例如,通过配置就可以让Velocity或者XSLT来代替已经存在的JSP页面。本章介绍和Spring集成的一些主流表现层技术,并简要描述如何集成新的表现层。这里假设你已经熟悉第 12.5 节 “视图与视图解析”,那里介绍了将表现层集成到MVC框架中的基本知识。

和JSP & JSTL一起使用Spring
Spring为JSP和JSTL提供了一组方案(顺便说一下,它们都是最流行的表现层技术之一)。使用JSP或JSTL需要使用定义在WebApplicationContext里的标准的视图解析器。此外,你当然也需要写一些JSP页面来显示页面。这里描述一些Spring为方便JSP开发而提供的额外功能。

视图解析器
就象和Spring集成的其他表现层技术一样,对于JSP页面你需要一个视图解析器来解析。最常用的JSP视图解析器是InternalResourceViewResolver和ResourceBundleViewResolver。它们被定义在WebApplicationContext里:

# The ResourceBundleViewResolver: <bean id="viewResolver" class="org.springframework.web.servlet.view.ResourceBundleViewResolver"> <property name="basename"><value>views</value></property> </bean> # And a sample properties file is uses (views.properties in WEB-INF/classes): welcome.class=org.springframework.web.servlet.view.JstlView welcome.url=/WEB-INF/jsp/welcome.jsp productList.class=org.springframework.web.servlet.view.JstlView productList.url=/WEB-INF/jsp/productlist.jsp

你可以看到ResourceBundleViewResolver需要一个属性文件来把视图名称映射到 1)类和 2) URL。 通过ResolverBundleViewResolver,你可以用一个解析器来解析两种类型的视图。

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

InternalResourceBundleViewResolver可以配置成使用JSP页面。作为好的实现方式,强烈推荐你将JSP文件放在WEB-INF下的一个目录中,这样客户端就不会直接访问到它们。

普通JSP页面和JSTL
当你使用Java标准标签库(Java Standard Tag Library)时,你必须使用一个特殊的类,JstlView,因为JSTL在使用象I18N这样的功能前需要一些准备工作。

其他有助于开发的标签
正如前面几章所提到的,Spring可以将请求参数绑定到命令对象上。为了更容易地开发含有数据绑定的JSP页面,Spring定义了一些专门的标签。所有的Spring标签都有HTML转义功能来决定是否使用字符转义。

标签库描述符(TLD)和库本身都包含在spring.jar里。

1 2 3 4 5 6
【内容导航】
第1页: 和JSP & JSTL一起使用Spring 第2页: Tiles的使用
第3页: Velocity 第4页: XSLT视图
第5页: 文档视图 (PDF/Excel) 第6页: 架构
©版权所有。未经许可,不得转载。
[责任编辑:JavaWorker]