Jetspeed开发文档2

类别:Java 点击:0 评论:0 推荐:
            Jetspeed开发文档2
 这里假设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 .............(略)
   
   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>写好源代码,并编译,参考jetspeeed简单开发文档.txt里的:
    三,1,<3>所建的参数action,其值为portlets.GraphDailyAction,则系统会去热行这个类  
 
 6,数据库配置Torque.properties
    略
   

本文地址:http://com.8s8s.com/it/it12459.htm