ImageVerifierCode 换一换
格式:DOCX , 页数:37 ,大小:33.05KB ,
资源ID:27456809      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27456809.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(springmvc集成表现层.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

springmvc集成表现层.docx

1、springmvc集成表现层主题:springmvc集成表现层内容部分:Spring之所以出色的一个原因就是将表现层从MVC的框架中分离出来。例如,通过配置就可以让Velocity或者XSLT来代替已经存在的JSP页面。本章介绍和Spring集成的一些主流表现层技术,并简要描述如何集成新的表现层。这里假设你已经熟悉第 12.5 节 “视图与视图解析”,那里介绍了将表现层集成到MVC框架中的基本知识。 和JSP & JSTL一起使用Spring Spring为JSP和JSTL提供了一组方案(顺便说一下,它们都是最流行的表现层技术之一)。使用JSP或JSTL需要使用定义在WebApplicatio

2、nContext里的标准的视图解析器。此外,你当然也需要写一些JSP页面来显示页面。这里描述一些Spring为方便JSP开发而提供的额外功能。 视图解析器 就象和Spring集成的其他表现层技术一样,对于JSP页面你需要一个视图解析器来解析。最常用的JSP视图解析器是InternalResourceViewResolver和ResourceBundleViewResolver。它们被定义在WebApplicationContext里: # The ResourceBundleViewResolver: views# And a sample properties file is uses (v

3、iews.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)

4、URL。 通过ResolverBundleViewResolver,你可以用一个解析器来解析两种类型的视图。 org.springframework.web.servlet.view.JstlView/WEB-INF/jsp/.jspInternalResourceBundleViewResolver可以配置成使用JSP页面。作为好的实现方式,强烈推荐你将JSP文件放在WEB-INF下的一个目录中,这样客户端就不会直接访问到它们。 普通JSP页面和JSTL 当你使用Java标准标签库(Java Standard Tag Library)时,你必须使用一个特殊的类,JstlView,因为JSTL

5、在使用象I18N这样的功能前需要一些准备工作。 其他有助于开发的标签 正如前面几章所提到的,Spring可以将请求参数绑定到命令对象上。为了更容易地开发含有数据绑定的JSP页面,Spring定义了一些专门的标签。所有的Spring标签都有HTML转义功能来决定是否使用字符转义。 标签库描述符(TLD)和库本身都包含在spring.jar里。 Tiles象其他表现层技术一样,可以集成在使用Spring的Web应用中。下面大致描述一下过程。 所需的库文件 为了使用Tiles,你必须将需要的库文件包含在你的项目中。下面列出了这些库文件。 struts version 1.1 commons-bean

6、utils commons-digester commons-logging commons-lang 这些文件以从Spring中获得。 如何集成Tiles 为了使用Tiles,你必须用定义文件(definition file)来配置它(有关于定义(definition)和其他Tiles概念,请参考http:/jakarta.apache.org/struts)。在Spring中,这些都可以使用TilesConfigurer在完成。下面是ApplicationContext配置的片段。 org.apache.struts.tiles.xmlDefinition.I18nFactorySet/W

7、EB-INF/defs/general.xml/WEB-INF/defs/widgets.xml/WEB-INF/defs/administrator.xml/WEB-INF/defs/customer.xml/WEB-INF/defs/templates.xml你可以看到,有五个文件包含定义,它们都存放在WEB-INF/defs目录中。当初始化WebApplicationContext时,这些文件被读取,并且初始化由factoryClass属性指定的定义工厂(definitons factory)。在这之后,你的Spring Web应用就可以使用在定义文件中的tiles includes内容

8、。为了使用这些,你必须得和其他表现层技术一样有一个ViewResolver。有两种可以选择,InternalResourceViewResolver和ResourceBundleViewResolver。 InternalResourceViewResolver InternalResourceViewResolver用viewClass属性指定的类实例化每个它解析的视图。 ResourceBundleViewResolver 必须提供给ResourceBundleViewResolver一个包含viewnames和viewclassess属性的属性文件。 views. welcomeView

9、.class=org.springframework.web.servlet.view.tiles.TilesView welcomeView.url=welcome (thisis the name of a definition) vetsView.class=org.springframework.web.servlet.view.tiles.TilesView vetsView.url=vetsView (again, thisis the name of a definition) findOwnersForm.class=org.springframework.web.servle

10、t.view.JstlView findOwnersForm.url=/WEB-INF/jsp/findOwners.jsp . 你可以发现,当使用ResourceBundleViewResolver,你可以使用不同的表现层技术。Velocity是Jakarta项目开发的表现层技术。有关与Velocity的详细资料可以在http:/jakarta.apache.org/velocity找到。这一部分介绍如何集成Velocity到Spring中。 所需的库文件 在使用Velocity之前,你需要在你的Web应用中包含两个库文件,velocity-1.x.x.jar 和commons-collec

11、tions.jar 。一般它们放在WEB-INF/lib目录下,以保证J2EE服务器能够找到,同时把它们加到你的classpath中。当然假设你也已经把spring.jar放在你的WEB-INF/lib目录下!最新的Velocity和commnons collections的稳定版本由Spring框架提供,可以从/lib/velocity和/lib/jakarta-commons目录下获取。 分发器(Dispatcher Servlet)上下文 你的Spring DispatcherServlet配置文件(一般是WEB-INF/servletname-servlet.xml)应该包含一个视图解

12、析器的bean定义。我们也可以再加一个bean来配置Velocity环境。我指定DispatcherServlet的名字为frontcontroller,所以配置文件的名字反映了DispatcherServlet的名字 下面的示例代码显示了不同的配置文件 true/WEB-INF/frontcontroller-views.xml/WEB-INF/velocity.properties Velocity.properties 这个属性文件用来配置Velocity,属性的值会传递给Velocity运行时。其中只有一些属性是必须的,其余大部分属性是可选的 详细可以查看Velocity的文档。这里,

13、我仅仅演示在Spring的MVC框架下运行Velocity所必需的内容。模版位置 大部分属性值和Velocity模版的位置有关。Velocity模版可以通过classpath或文件系统载入,两种方式都有各自的优缺点。从classpath载入具有很好的移植性,可以在所有的目标服务器上工作,但你会发现在这种方式中,模版文件会把你的java包结构弄乱(除非你为模版建立独立树结构)。从classpath载入的另一个重要缺点是在开发过程中,在源文件目录中的任何改动常常会引起WEB-INF/classes下资源文件的刷新,这将导致开发服务器重启你的应用(代码的即时部署)。这可能是令人无法忍受的。一旦完成大

14、部分的开发工作,你可以把模版文件存在在jar中,并把它放在WEB-INF/lib目录下中。 velocity.properties示例 这个例子将Velocity模版存放在文件系统的WEB-INF下,客户浏览器是无法直接访问到它们的,这样也不会因为你开发过程中修改它们而引起Web应用重启。它的缺点是目标服务器可能不能正确解析指向这些文件的路径,尤其是当目标服务器没有把WAR模块展开在文件系统中。Tomcat 4.1.x/5.x,WebSphere 4.x和WebSphere 5.x支持通过文件系统载入模版。但是你在其他类型的服务器上可能会有所不同。 # # velocity.propertie

15、s - example configuration # # uncomment the next two lines to load templates from the # classpath (i.e. WEB-INF/classes) #resource.loader=class#class.resource.loader.class=org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader # comment the next two lines to stop loading templates from

16、the # file system resource.loader=file file.resource.loader.class=org.apache.velocity.runtime.resource.loader.FileResourceLoader # additional config for file system loader only. tell Velocity where the root # directory isfor template loading. You can define multiple root directories # if you wish, I

17、 just use the one here. See the text below for a note about # the $webapp.root file.resource.loader.path=$webapp.root/WEB-INF/velocity # caching should be true in production systems, false is a development # setting only. Change to class.resource.loader.cache=false for classpath # loading file.resou

18、rce.loader.cache=false# overridedefault logging to direct velocity messages # to our application log for example. Assumes you have # defined a log4j.properties file runtime.log.logsystem.log4j.category=com.mycompany.myapplication Web应用的根目录标记 上面在配置文件资源载入时,使用一个标记$webapp.root来代表Web应用在文件系统中的根目录。这个标记在作为属

19、性提供给Velocity之前,会被Spring的代码解释成和操作系统有关的实际路径。这种文件资源的载入方式在一些服务器中是不可移植的。如果你认为可移植性很重要,可以给VelocityConfigurer定义不同的“appRootMarker”,来修改根目录标记本身的名字。Spring的文档对此有详细表述。 另一种可选的属性规范 作为选择,你可以用下面的内嵌属性来代替Velocity配置bean中的“configLocation”属性,从而直接指定Velocity属性。 fileorg.apache.velocity.runtime.resource.loader.FileResourceLoa

20、der$webapp.root/WEB-INF/velocityfalse缺省配置(文件资源载入) 注意从Spring 1.0-m4起,你可以不使用属性文件或内嵌属性来定义模版文件的载入,你可以把下面的属性放在Velocity配置bean中。/WEB-INF/velocity/视图配置 配置的最后一步是定义一些视图,这些视图和Velocity模版一起被显示。视图被定义在Spring上下文文件中。正如前面提到的,这个例子使用XML文件定义视图bean,但是也可以使用属性文件(ResourceBundle)来定义。视图定义文件的名字被定义在WEB-INF/frontcontroller-servlet.xml文件的ViewResolver的bean中。 mainTemplate.vmMy Velocity Home Pagese

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1