文档名称第1页共11页Jetspeed主题(Decoration)开发手册1必备开发技术Velocity模板技术Jsp开发技术Css样式2主题类型Layout(Page)指的是页面的主题、布局的主题Portlet指的是具体每个Portlet的主题,也就是Portlet独自的主题,不受Page、Layout主题的影响3主题的目录结构Layout(Page)在主题目录下有以下几个文件是必要的:decorator.properties:主题的配置文件styles.css:主题的样式文件header.vm:主题的顶部页面模板footer.vm:主题的底部页面模板文档名称第2页共11页decorator.properties、header.vm和footer.vm这三个文件是放在主题目录下的,而styles.css则是放在主题目录下的css子目录下;Portlet在主题目录下有以下几个文件是必要的:decorator.properties:主题的配置文件styles.css:主题的样式文件decorator.properties这个文件是放在主题目录下的,而styles.css则是放在主题目录下的css子目录下;可选的文件:decorator.vmPortlet显示模板如果在该主题目录下拥有decorator.vm的情况下,Portlet在展现的时候采用的是该模板,而目录不存在该vm的话,则在Portlet展现的时候采用的是通用的模板:\decorations\portlet\decorator.vm。4decorator.properties配置文件说明这个文件包含了开发的主题的相关配置信息,下面描述一下各个属性的定义:文档名称第3页共11页通用的属性id:主题的id;name:主题的名称decorates:主题的类型(layout/portlet)base.css.class:Portlet的总样式名,默认为主题的idtemplate.type=:主题的模板类型,即采用的展现技术(velocity/jsp)template.extension=:主题模板文件的扩展名(.vm/.jsp)template.macros:模板文件支持的宏模板文件(-macros),如果设置该属性,则主题加载的时候,模板可以使用该宏文件定义的方法Layout(Page)Layout特殊具有的属性:header:顶部模板的模板文件,默认是header.vmfooter:底部模板的模板文件,默认是footer.vmPortlet大部分采用通用属性的设置5jetspeed_macros.vm宏文件的使用该文件位于\WEB-INF下,是大部份主题、布局使用的宏文件,里面封装了一些通用的宏代码defineLayoutObjects:定义一些页面上共用的对象includeJavaScriptForHead:导入公共使用的javascript方法还用其他的方法,请查看具体的vm文件文档名称第4页共11页6vm模板中可以使用的对象jetspeed:JetspeedVelocityPowerToolJS2RequestContext:RequestContextrenderRequest:RenderRequestrenderResponse:RenderResponseportletConfig:PortletConfigportletModeView:PortletMode.VIEWportletModeEdit:PortletMode.EDITportletModeHelp:PortletMode.HELPwindowStateNormal:WindowState.NORMALwindowStateMinimized:WindowState.MINIMIZEDwindowStateMaximized:WindowState.MAXIMIZED文档名称第5页共11页7具体的开发步骤7.1选择需要开发的主题类型,复制模板主题(default)的相关目录内容文档名称第6页共11页7.2重命名文件夹,删除不必要的目录及文件文档名称第7页共11页7.3修改配置文件decorator.properties,主要是修改id和name,一般上时候目录的名称一致7.4修改模板文件:decorator.vm(Portlet)或者header.vmfooter.vm(Layout)decorator.vm文档名称第8页共11页header.vm文档名称第9页共11页footer.vm文档名称第10页共11页备注:主要的主题展现形式是有美工设计的静态页面进行切割的。7.5将主题打包成jar,并放置在\WEB-INF\deploy\目录下,系统会自动部署(可以支持热部署)备注:每个Jar包内只能有一个主题文档名称第11页共11页