<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 431,  comments - 344,  trackbacks - 0
    關鍵字:   liferay    

    // 初始化
    portal.servlet.MainServlet.init()
     // process startup events
     StartupAction.run()

     // 初始化portlets.
     String[] xmls = new String[] {
      Http.URLtoString(ctx.getResource("/WEB-INF/portlet.xml")),
      Http.URLtoString(ctx.getResource("/WEB-INF/portlet-ext.xml")),
      Http.URLtoString(ctx.getResource("/WEB-INF/liferay-portlet.xml")),
      Http.URLtoString(ctx.getResource("/WEB-INF/liferay-portlet-ext.xml")),
      Http.URLtoString(ctx.getResource("/WEB-INF/web.xml"))
     };
     PortletLocalServiceUtil.initEAR(xmls)

     // 初始化display.
     String xml = Http.URLtoString(ctx.getResource(
       "/WEB-INF/liferay-display.xml"));
     PortletCategory newPortletCategory =
      PortletLocalServiceUtil.getEARDisplay(xml);
     portletCategory.merge(newPortletCategory);

     // 初始化layout模板.
     String[] xmls = new String[] {
      Http.URLtoString(ctx.getResource(
       "/WEB-INF/liferay-layout-templates.xml")),
      Http.URLtoString(ctx.getResource(
       "/WEB-INF/liferay-layout-templates-ext.xml"))
     };
     LayoutTemplateLocalUtil.init(ctx, xmls)

     // 初始化Theme.
     String[] xmls = new String[] {
      Http.URLtoString(ctx.getResource(
       "/WEB-INF/liferay-look-and-feel.xml")),
      Http.URLtoString(ctx.getResource(
       "/WEB-INF/liferay-look-and-feel-ext.xml"))
     };
     ThemeLocalUtil.init(ctx, xmls)

     // 檢查company
     CompanyLocalServiceUtil.checkCompany(_companyId);

     // 其它內容...

    // 響應服務
    portal.servlet.MainServlet.service()
     
     // get portalContext
     ServletContext ctx = getServletContext();
     ServletContext portalCtx = ctx.getContext(
      PrefsPropsUtil.getString(_companyId, PropsUtil.PORTAL_CTX));
     
     // Struts module config
     ModuleConfig moduleConfig = getModuleConfig(req);

     // Portlet Request Processor - 在struts.config中定義.
     portletReqProcessor = PortletRequestProcessor.getInstance(this, moduleConfig);

     // 登錄處理.

     // 處理service前置事件.
     EventsProcessor.process(PropsUtil.getArray(PropsUtil.SERVLET_SERVICE_EVENT_PRE), req, res);

     // 調用Struts的service方法.
     callParentService(req, res);

     // 處理Sruts后置事件.
     EventsProcessor.process(PropsUtil.getArray(PropsUtil.SERVLET_SERVICE_EVENTS_POST), req, res);
     
    // struts的ActionServlet.
    ActionServlet.process(HttpServletRequest req, HttpServletResponse res)
     processor.process(req, res);

    // portal的RequestProcessor.
    portal.struts.PortalRequestProcessor.process(HttpServletRequest req, HttpServletResponse res)
      
     // struts的RequestProcessor
     RequestProcessor.process(HttpServletRequest req, HttpServletResponse res)

      string path = processPath(req, res)  // PortalRequestProcessor重載

      ActionMapping mapping = processMapping(req, res, path);

      processRoles(req, res, mapping) // PortalRequestProcessor重載

      ActionForm from = processActionForm(req, res, mapping);

      processForward(req, res, mapping);

      processInclude(req, res, mapping);

      Action action = processActionCreate(req, res, mapping);

      ActionForward forward = processActionPerform(req, res, action, form, mapping);

      processForwardConfig(req, res, forward);  // TilesRequestProcessor重載
      
     // tiles的RequestProcessor
     TilesRequestProcessor.processForwardConfig(req, res, forward)

      processTilesDefinition(forward.getPath(), forward.getContextRelative(), req, res);

       Controller.execute();  // 輸出/portal/layout.jsp


    /html/portal/layout.jsp  - portal布局頁面.
     
    此處include在/portal-ejb/classes/portal.properties里layout.view.page定義的頁面/portal/layout/view/portlet.jsp

    /html/portal/layout/view/portlet.jsp  - portlet布局視圖頁面.

    // 讀取模板內容,模板由liferay-layout-templates.xml文件定義.
    String content = LayoutTemplateLocalUtil.getContent(
     layoutTypePortlet.getLayoutTemplateId(), false, theme.getThemeId());
     下面是一個一列的模板:
     <div id="layout-content-outer-decoration">
     <div id="layout-content-inner-decoration">
      <div id="layout-content-container">
       $processor.processColumn("column-1")
      </div>
     </div>
     </div>

    // 處理模板
    portlet.layoutconfiguration.util.RuntimePortletUtil.processTemplate(
      application, pageContext, request, response, content);
     

     // 注入模板處理程序
     TemplateProcessor processor = new TemplateProcessor(ctx, req, res, portletId);
     VelocityContext context = new VelocityContext();
     context.put("processor", processor); 
     // 處理模板
     Velocity.evaluate(context, pageContext.getOut(),
      RuntimePortletUtil.class.getName(), content); 

    posted on 2007-01-28 09:59 周銳 閱讀(979) 評論(1)  編輯  收藏 所屬分類: Portal
    主站蜘蛛池模板: 日本免费人成黄页网观看视频| 亚洲在成人网在线看| AV片在线观看免费| 日本免费人成网ww555在线| 精品在线免费视频| 亚洲二区在线视频| 亚洲美女视频免费| 亚洲AV无码精品色午夜在线观看| 亚洲Av无码乱码在线观看性色| 无码人妻一区二区三区免费| 16女性下面无遮挡免费| 最近国语视频在线观看免费播放| 国产亚洲女在线线精品| 亚洲国产区男人本色| 四虎必出精品亚洲高清| 亚洲码一区二区三区| 久久亚洲精品人成综合网| 亚洲精品国产精品乱码不卡√| mm1313亚洲精品无码又大又粗| 日本免费人成黄页网观看视频 | 免费真实播放国产乱子伦| 永久免费av无码不卡在线观看| 2019中文字幕免费电影在线播放 | 亚洲成?Ⅴ人在线观看无码| 韩国欧洲一级毛片免费| 毛片免费全部免费观看| 好吊妞视频免费视频| 成年在线观看免费人视频草莓| 在线视频观看免费视频18| 青青青国产在线观看免费网站| h在线观看视频免费网站| 67194成手机免费观看| 亚欧免费视频一区二区三区| 免费黄色网址网站| 免费无码AV片在线观看软件| 最新免费jlzzjlzz在线播放| 成年女人视频网站免费m| 日本久久久免费高清| 免费成人av电影| 中文国产成人精品久久亚洲精品AⅤ无码精品| 亚洲日本中文字幕一区二区三区|