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 :主题的底部页面模板
decorator.properties、header.vm和 footer.vm 这三个文件是放在主题目录下的,而styles.css 则是放在主题目录下的css子目录下;
Portlet
在主题目录下有以下几个文件是必要的:
decorator.properties :主题的配置文件
styles.css : 主题的样式文件
decorator.properties这个文件是放在主题目录下的,而styles.css 则是放在主题目录下的css子目录下;
可选的文件:
decorator.vm Portlet显示模板
如果在该主题目录下拥有decorator.vm的情况下,Portlet在展现的时候采用的是该模板,而目录不存在该vm的话,则在Portlet展现的时候采用的是通用的模板:\decorations\portlet\decorator.vm。
4 decorator.properties配置文件说明css常用模板
这个文件包含了开发的主题的相关配置信息,下面描述一下各个属性的定义:
通用的属性
id : 主题的id;
name : 主题的名称
decorates :主题的类型(layout/portlet)
base.css.class :Portlet的总样式名,默认为主题的id
pe=:主题的模板类型,即采用的展现技术(velocity/jsp)
sion=:主题模板文件的扩展名(.vm/.jsp)
template.macros :模板文件支持的宏模板文件(-macros),如果设置该属性,则主题加载的时候,模板可以使用该宏文件定义的方法
Layout(Page)
Layout特殊具有的属性:
header :顶部模板的模板文件,默认是header.vm
footer :底部模板的模板文件,默认是footer.vm
Portlet
大部分采用通用属性的设置
5 jetspeed_macros.vm宏文件的使用
该文件位于\WEB-INF下,是大部份主题、布局使用的宏文件,里面封装了一些通用的宏代
defineLayoutObjects :定义一些页面上共用的对象
includeJavaScriptForHead :导入公共使用的javascript方法
还用其他的方法,请查看具体的vm文件
6 vm模板中可以使用的对象
jetspeed :JetspeedVelocityPowerTool
JS2RequestContext :RequestContext
renderRequest :RenderRequest
renderResponse :RenderResponse
portletConfig :PortletConfig
portletModeView :PortletMode.VIEW
portletModeEdit :PortletMode.EDIT
portletModeHelp :PortletMode.HELP
windowStateNormal :WindowState.NORMAL
windowStateMinimized :WindowState.MINIMIZED
windowStateMaximized :WindowState.MAXIMIZED
7 具体的开发步骤
7.1 选择需要开发的主题类型,复制模板主题(default)的相关目录内容
7.2 重命名文件夹,删除不必要的目录及文件
7.3 修改配置文件decorator.properties,主要是修改id和name,一般上时候目录的名称一致
7.4 修改模板文件:decorator.vm(Portlet)或者 header.vm footer.vm(Layout)
decorator.vm
header.vm
footer.vm
备注:主要的主题展现形式是有美工设计的静态页面进行切割的。
7.5 将主题打包成jar,并放置在\WEB-INF\deploy\目录下,系统会自动部署(可以支持热部署)
备注:每个Jar包内只能有一个主题

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。