kapok

          垃圾桶,嘿嘿,我藏的這么深你們還能找到啊,真牛!

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            455 隨筆 :: 0 文章 :: 76 評論 :: 0 Trackbacks
           



          開發與部署分開

          在WLP81中,可以在WORKSHOP中定義Portal,也可以在Admin Tool中中定義Portal.究竟有怎么區別呢? 原來WLP81與WLP70不一樣,建議把應用的開發與最終的發布分開.即在workshop中把應用的所有portlet都開發,調試通過后,然后在WLP81的Admin Tool中定義portal,desktop. 最終發布出去的是在Admin Tool中定義desktop. 最終用戶通過訪問desktop來訪問portal 應用.

          如何集成其他Web系統
          如果要把其他的基于BS結構開發的Web系統集成到WLP81中,有以下幾中方式.
          1. Kapow
          他是WLP81自帶的組件.可以把一個網頁的全部或裁剪網頁的一部分,在WLP81的portlet中顯示出來.
          2. 采用WLP81帶的JSP Tag: <es:uriContent>
          3. 采用IFRAME
          4. 采用Apache web scraping package

          如何集成其他CS結構的系統
          如果要在WLP81中集成CS結構的系統,個人認為主要有以下幾種方式:
          1. 在JSP中調用Web Service,Tuxedo Service,DCOM,CORBA等組件
          把要集成的部分包裝成Web Service,Tuxedo Service,DCOM, CORBA等組件.然后通過在JSP中調用這些組件來把內容在WEB 頁面上展示出來.
          2. JAVA API
          如果這些CS結構的系統有JAVA API.那么可以在JSP中通過調用如果這些CS結構的系統有JAVA API來把中調用這些組件來把內容在WEB 頁面上展示出來
          3. Citrix公司的MetaFrame Portlet
          MetaFrame是Citrix公司所開發的一款解決遠程訪問相關問題的優秀產品,MetaFrame實現了基于服務器的計算機構---使得遠程用戶能夠使用任何類型的終端系統,通過任何類型的網絡連接,使用遠程服務器上的任何應用程序。
          MetaFrame產品采用了MultiWin和ICA兩種主要技術。MultiWin允許多個用戶可以同時使用某個應用程序;ICA(Independent Computing Architecture)可以將應用的邏輯與界面分開。這兩種技術的結合,使得應用程序可以隨時隨處發布,不再受客戶端和連接性能的限制。
          用戶甚至能夠使用同一個終端系統訪問甚至遠程多個不同平臺、不同網絡協議服務器上的多個應用,這些應用被集成在一個訪問界面中,操作簡便。詳細資料參見: http://www.achieva.com.cn/product/citrix/

          Portlet的最大化,最小化等圖片出不來
          如果訪問WLP81的Portal應用,無法顯示Portlet的最大化,最小化等圖片,可通過下面的方法解決:
          1. 在%web-app%/framework/skins下增加一個名為zh的文件夾,然后skins目錄下原有的文件夾(及所有文件)拷貝至zh文件夾內。
          2. 在WEB-INF下面的netuix-config.xml下增加以下一段
          <!--resoule the chinese problem -->
          <localization>
          <enable>true</enable>
          <default-locale language = "en"/>
          </localization>

          替換header中的圖片
          如果要替換Portal Header中的圖片,方法如下:從sample portal的framework/markup/shell中導入HeaderFooterVisitor.shell,右擊desktop,從彈出菜單中選擇shell/HeaderFooterVisitor.shell,然后雙擊Header,生成header.jsp,修改header.jsp即可。如果footer出不來,需要在shell文件中加入:
          <netuix:footer>
          <netuix:jspContent contentUri="/footer.jsp"/>
          </netuix:footer>
          然后將shell替換為原來的shell,再替換為新shell就可以。

          設置Portal Domain的啟動選項
          在Portal Domain的啟動腳本startweblogic.cmd中,通過設置下面的flag的值,來決定Portal Domain的啟動選項。

          set DB_DB=workshop
          set debugFlag=false
          set specialFlag=false
          set WLS_PRODUCTION_MODE=true
          set testConsoleFlag=true
          set iterativeDevFlag=true
          set logErrorsToConsoleFlag=true
          set pointbaseFlag=true
          set profileFlag=false
          set doExitFlag=true
          set verboseLoggingFlag=false
          set memmax=-Xmx512m

          關閉portal的搜索引擎
          如果你覺的Portal的搜索引擎沒怎么用,可以把它關閉,方法如下:在Portal Domain的啟動腳本startweblogic.cmd中,在下面的語句前加rem,注釋掉。這樣可以提高系統的性能。

          rem start "Start Portal SearchEngine" /MIN cmd /c
          call "%WLP_HOME%\thirdparty\search\startSearchEngine.cmd"
          rem start "Stop Portal SearchEngine" /MIN cmd /c
          call"%WLP_HOME%\thirdparty\search\stopSearchEngine.cmd"


          WLP81對IE的要求
          WLP81必須配合IE60才行,如果是IE50,在瀏覽Portal應用,或進入Portal Admin Tool時,會拋出下面的Exception??蓮拇颂幭螺dIE60:
          http://www.microsoft.com/downloads/details.aspx?FamilyID=1e1550cb-5e5d-48f5-b02b-20b602228de6&DisplayLang=en

          在WLP81中正確顯示FLASH
          1.可以通過FLASH PLUG-IN來顯示。下面是一個例子:
          <table border="0" cellpadding="5" cellspacing="0" width="100%">
          <tr>
          <td background="/sampleportal/images/bg.gif" width="100%" align="center"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="320" height="60" hspace="80" align="middle">
          <param name="movie" value="/sampleportal/images/test.swf">
          <param name="quality" value="high">
          <embed src="/sampleportal/images/test.swf" width="100%" height="80" hspace="20" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed></object>
          </td>
          </tr>
          </table>


          2.通過WLP81的 Content Manager
          把要顯示的FLASH放到WLP81 CMS的REPOSITY中,然后通過CONTENT SELECTOR顯示。例子如下:

          <pz:contentSelector id="nodes" rule="xcj" />
          <es:forEachInArray array="<%=nodes%>" id="node" type="com.bea.content.Node" > <ad:render id="node" height="200" width="400"/>
          </es:forEachInArray>

          要注意的是: *.SEL文件應放到GlobalContentSelectors目錄下,不要放到contentselectors目錄下,否則,雖然在Content preview中可以顯示,但在運行環境下無法顯示.


          從WLP81的CMS中取內容并顯示
          下面的代碼通過Content selector從WLP81的CMS中查詢滿足條件的文件,并在瀏覽器中顯示。如是文件的filetype值是img就直接顯示。如是文件的filetype值是doc就顯示超聯接。

          <pz:contentSelector id="nodes" rule="sampleRule" />
          <es:forEachInArray array="<%=nodes%>" id="node" type="com.bea.content.Node" >
          <cm:getProperty node="<%=node%>" name="filetype" resultId="type" default="doc" />

          <%
          String fileType=type.toString();
          if (fileType.equals("[img]"))
          {
          String simg = "<img src= ' " + "/Sampleportal/ShowBinary" + node.getPath() + "'>";
          out.println(simg);
          %>

          <%
          }

          else if(fileType.equals("[doc]"))
          {
          String simg="<a href='http://localhost:7001/sampleportal/ShowBinary"+node.getPath()+"' target='_blank' >預覽下載</a>";
          out.println(simg);
          }
          %>
          </es:forEachInArray>

          在IE瀏覽器中直接輸入
          http://localhost:7001/sampleportal/ShowBinary/BEA+Repository/mynode
          可用來檢查是否可以正確顯示CMS中的內容。Mynode為相應節點的名稱。

          讓WLP81正確處理中文
          為了讓WLP81能正確處理中文,需要設置下面幾個地方。
          1. 在web.xml中
          <context-param>
          <param-name>weblogic.httpd.inputCharset./*</param-name>
          <param-value>GBK</param-value>
          </context-param>

          2. 在weblogic.xml中
          <jsp-descriptor>
          <jsp-param>
          <param-name>encoding</param-name>
          <param-value>GBK</param-value>
          </jsp-param>
          </jsp-descriptor>

          3.修改*.portal文件的編碼
          可在ultraEdit中打開*.portal文件
          修改其中的 <portal:directive.page contentType="text/html;charset=UTF-8"/>為
          <portal:directive.page contentType="text/html;charset=GBK"/>
          如果修改后,有一些JSP文件無法打開,可在ultraEdit中打開,把代碼COPY 到Workshop 的source View中.

          4.修改Workshop的編碼

          在代碼中設置Page,Portlet的屬性
          在開發時,可以在Workshop的property Editor中設置page, portlet的屬性.在代碼中可以通過下面的方法設置或取得page, portlet的屬性.
          try
          {
          PageBackingContext page =
          PageBackingContext.getPageBackingContext(getRequest());
          System.out.println("\n\n\n\n\ntitle=[" + page.getTitle()+"]");
          title=page.getTitle();

          }
          catch(Exception e)
          {
          e.printStackTrace();
          }
          如果把上面的page替換成portlet就可以得到portlet的屬性

          使PAGE折行顯示
          如果一個portal應用的page太多,默認只會顯示為一行,太長.可修改文件framework/skeletons/default/singlelevelmenu.jsp,使他可以折行顯示.例子如下:

          int pageNum=0;
          while (pages.hasNext())
          {
          pageNum++;
          if(pageNum %15 ==0)
          {
          System.out.println("pageNum=" + pageNum);
          out.println("<br><br>");
          }

          在WLP81中實現文件上傳
          可以通過Page Flow實現文件上傳. 在JSP中,通過<netui:fileUpload>顯示文件上傳窗口.
          <netui:fileUpload dataSource="{actionForm.file}" size="50" accept="*/*" ></netui:fileUpload>
          在jpf文件中可通過如下方式讀取上傳的文件,并保存到新的目錄下.
          try {
          if(!form.getFile().equals(""))
          {
          InputStream is = form.getFile().getInputStream();
          String fileName = form.getFile().getFileName();
          FileOutputStream os = new FileOutputStream(new File(uploadFolder+fileName));
          byte b[] = new byte[128];
          while(is.read(b)!=-1){
          os.write(b);
          }
          is.close();
          os.close();
          }
          }
          catch(Exception e){
          e.printStackTrace();
          }
          如果有中文問題,可以把該Page Flow 放到Iframe中.

          posted on 2005-04-19 15:32 笨笨 閱讀(331) 評論(0)  編輯  收藏 所屬分類: J2EE 、ALLWeblogic Portal
          主站蜘蛛池模板: 呼图壁县| 邻水| 穆棱市| 荣昌县| 昆明市| 桃源县| 胶州市| 大宁县| 印江| 瑞安市| 习水县| 普安县| 宿松县| 汕尾市| 福海县| 乾安县| 阿拉善左旗| 子洲县| 渭南市| 锦屏县| 台中县| 壤塘县| 福建省| 嘉兴市| 肃宁县| 酒泉市| 叶城县| 师宗县| 临沭县| 清流县| 安西县| 延安市| 准格尔旗| 固阳县| 贺兰县| 伊金霍洛旗| 英德市| 三台县| 鄂托克旗| 岑溪市| 房产|