jetspeed开发实战
2005-05-14 21:33
148 查看
这里假设monsys为web服务的名称,其路径在webapps/下面
1,jetspeed的图片处理图片默认放在monsys/images下面,
调用方法:$clink.setURI("images/test.jpg")
2,javascript处理 javascript默认放在monsys/javascript下
调用方法:$clink.setURI("javascript/test.css")
3,portlets的位置位于monsys/WEB-INF/templates/vm/portlets/html下面
4,页面总体布局控制看JetspeedResources.properties
bottomnav.enable=true
bottomnav.vm=bottom.vm
leftnav.enable=true
leftnav.vm=left.vm
leftnav.width=10%
topnav.enable=true
topnav.vm=top.vm
topnav.logo.file=images/jetspeed-logo-1.5.gif
topnav.logo.url=
topnav.user_login.enable=true
topnav.user_creation.enable=true
topnav.my_pages.enable=true
5,portlets源代码分析: portlet主要实现三个方法:
<1>,buildMaximizedContext最大化
<2>,buildConfigureContext显示信息
<3>,buildNormalContext正常情况,也就是所看到的正常显示时所要显示的信息
<4>,调用时,在添加模块时添加新参数action=portlets.GraphDailyAction
package org.apache.jetspeed.modules.actions.portlets;
import .............(N个,略)
public class GraphDailyAction extends VelocityPortletAction {
/**
* Subclasses should override this method if they wish to
* build specific content when maximized. Default behavior is
* to do the same as normal content.
*/
protected void buildMaximizedContext(VelocityPortlet portlet, Context context, RunData rundata) {
buildNormalContext(portlet, context, rundata);
String text = (String) context.get("text");
if (text == null) {
text = "Top Record of baccarat game";
}
context.put("text", text + " (Maximized !)");
}
/**
* Subclasses should override this method if they wish to
* provide their own customization behavior.
* Default is to use Portal base customizer action
*/
protected void buildConfigureContext(VelocityPortlet portlet, Context context, RunData rundata) {
buildNormalContext(portlet, context, rundata);
setTemplate(rundata, "hello-customize");
}
/**
* 这是主要部份
* Subclasses must override this method to provide default behavior
* for the portlet action
*/
protected void buildNormalContext(VelocityPortlet portlet, Context context, RunData rundata) {
String mode = portlet.getPortletConfig().getInitParameter("mode"); //读取添加模块时从配置文件传来的参数
String searchdate = rundata.getParameters().getString("searchdate"); //取得从页面提交得到的参数
context.put("mode", mode);
context.put("searchdate", searchdate) //输出页面要显示的信息,支持输出数组,对像,及容器等形式的数据
}
}
<5>写好源代码,并编译,参考里的:
1,<3>所建的参数action,其值为portlets.GraphDailyAction,则系统会去执行这个类
1,jetspeed的图片处理图片默认放在monsys/images下面,
调用方法:$clink.setURI("images/test.jpg")
2,javascript处理 javascript默认放在monsys/javascript下
调用方法:$clink.setURI("javascript/test.css")
3,portlets的位置位于monsys/WEB-INF/templates/vm/portlets/html下面
4,页面总体布局控制看JetspeedResources.properties
bottomnav.enable=true
bottomnav.vm=bottom.vm
leftnav.enable=true
leftnav.vm=left.vm
leftnav.width=10%
topnav.enable=true
topnav.vm=top.vm
topnav.logo.file=images/jetspeed-logo-1.5.gif
topnav.logo.url=
topnav.user_login.enable=true
topnav.user_creation.enable=true
topnav.my_pages.enable=true
5,portlets源代码分析: portlet主要实现三个方法:
<1>,buildMaximizedContext最大化
<2>,buildConfigureContext显示信息
<3>,buildNormalContext正常情况,也就是所看到的正常显示时所要显示的信息
<4>,调用时,在添加模块时添加新参数action=portlets.GraphDailyAction
package org.apache.jetspeed.modules.actions.portlets;
import .............(N个,略)
public class GraphDailyAction extends VelocityPortletAction {
/**
* Subclasses should override this method if they wish to
* build specific content when maximized. Default behavior is
* to do the same as normal content.
*/
protected void buildMaximizedContext(VelocityPortlet portlet, Context context, RunData rundata) {
buildNormalContext(portlet, context, rundata);
String text = (String) context.get("text");
if (text == null) {
text = "Top Record of baccarat game";
}
context.put("text", text + " (Maximized !)");
}
/**
* Subclasses should override this method if they wish to
* provide their own customization behavior.
* Default is to use Portal base customizer action
*/
protected void buildConfigureContext(VelocityPortlet portlet, Context context, RunData rundata) {
buildNormalContext(portlet, context, rundata);
setTemplate(rundata, "hello-customize");
}
/**
* 这是主要部份
* Subclasses must override this method to provide default behavior
* for the portlet action
*/
protected void buildNormalContext(VelocityPortlet portlet, Context context, RunData rundata) {
String mode = portlet.getPortletConfig().getInitParameter("mode"); //读取添加模块时从配置文件传来的参数
String searchdate = rundata.getParameters().getString("searchdate"); //取得从页面提交得到的参数
context.put("mode", mode);
context.put("searchdate", searchdate) //输出页面要显示的信息,支持输出数组,对像,及容器等形式的数据
}
}
<5>写好源代码,并编译,参考里的:
1,<3>所建的参数action,其值为portlets.GraphDailyAction,则系统会去执行这个类
相关文章推荐
- jetspeed开发实战
- 博客园新书《构筑敏捷的开发团队—VS2010实战兵法》已经出版
- 小梅科普:Extjs5.0从入门到实战开发信息管理系统
- 魔乐科技MLDN_android开发实战经典_李兴华_视频下载汇总
- Web Service笔记(五):CXF开发RESTful风格的Web Service(实战)
- 跟着BOY学习开发cocos2d-x 游戏 实战篇(8)之 升级系统的基本设计--终结篇
- 【Android开发VR实战】二.播放360°全景视频
- HTML5 服务器推送事件(Server-sent Events)实战开发
- 实战体会Java的多线程编程-Java基础-Java-编程开发
- iPhone与iPad开发实战——精通iOS开发(更新完毕)
- 精选在线课程:前端开发入门、进阶与实战(中文系列)
- vue项目开发实战(一)——vue项目起航
- APP开发实战7-APP的尺寸标注工作
- Android开发实战2----圆点导航指示器(使用自定义View实现)
- APP开发实战64-Activity数据传递机制
- angular+ionic+cordova(实战项目开发中,持续更新自己学到的和遇到的)
- unity3D游戏开发实战原创视频讲座系列1之3D俄罗斯方块开发
- Hbase源码解析和开发实战笔记
- Cordova webapp实战开发:(2)认识一下Cordova
- 响应式开发从原理到实战案例(十五):响应式改版完整案例-完结