Portal開發與配置技巧集錦(一)
1.1 如何為自己留下進入管理介面的後門
1. 1.1 問題描述
在主題與皮膚開發的過程中,不小心刪除了 “管理”連結,無法再進入到 Portal 管理介面。這個問題其實挺嚴重的,如果不進入 Portal 管理介面,就無法解除安裝已經安裝的主題與皮膚,開發工作就無法進行下去。
1. 1.2 解決方案
有兩種方法解決這個問題。
第一種方法:為自己留一個後門。執行方法就是上一節提到的建立 URL 對映的方式,也就是說,新建一個 admin 的 URL 對映,然後將 admin 的 URL 對映到 Portal 管理介面,這樣萬一損壞了“管理”連結,則可以在登入系統後直接在位址列輸入: myportal/admin 進入到 Portal 管理介面。這算是給自己留的後門吧。具體的操作步驟可以參考上一節建立 URL 對映的過程。
第 二種方法:這種方法其實很簡單,就是多開啟幾個頁面,其中一個停留在 Portal 管理介面,而且要保證這個頁面的會話資料是有效的(即: Session 不要過期)。除錯主題效果時使用其他頁面,這樣萬一主題損壞,則可以立即切換到 Portal 管理介面,刪除剛剛新增的、損壞的主題。
1. 2 獲取登入使用者資訊
1. 2.1 問題描述
獲得登入使用者物件,並取出使用者名稱、註冊郵箱等使用者資訊,在主題與皮膚開發以及 Portlet 開發中都經常會用到。如何取出使用者資訊?我們透過配置 + 編碼的方式來實現。
1. 2.2 解決方案
第一種方法:標籤 + 程式碼方式。
首先修改 IBM/WebSphere/wp_profile/installedApps/[cellname]/wps.ear/wps.war/themes/html/ ThemeName 目錄下的 Default.jsp 檔案:
將 <%@ page session="false" buffer="none" %> 改成 <%@ page session="true" %> 。
然後 匯入 IBM User 的 JAR 包 , 這個包的名字是 wp.user.api.jar , 可以在 IBM/WebSphere/Portal Server/base/wp.user.api/shared/app 下找到。
<%@ page import="com.ibm.wps.puma.User" %>
加入如下程式碼:
<%
HttpSession mysession=request.getSession();
String loginname="";
if(mysession.getAttribute("com.ibm.wps.util.session_user")!=null){
com.ibm.wps.puma.User myuser=(com.ibm.wps.puma.User)mysession.getAttribute ("com.ibm.wps.util.session_user");
loginname=myuser.getFullName();
}
%>
第二種方法 : 在 Default.jsp 裡直接引入使用者類包,並在主題裡初始化。
參考程式碼如下:
<%@ page import ="com.ibm.portal.portlet.service.PortletServiceHome" %>
<%@ page import ="com.ibm.portal.portlet.service.PortletServiceUnavailable Exception" %>
<%@ page import ="com.ibm.portal.puma.User" %>
<%@ page import ="com.ibm.portal.um.PumaHome" %>
<%@ page import ="com.ibm.portal.um.PumaProfile" %>
<%@ page import ="com.ibm.portal.um.exceptions.PumaException" %>
<%
PumaHome home = null;
Context ctx = new InitialContext();
PortletServiceHome serviceHome = (PortletServiceHome)ctx.lookup("portlet service/com.ibm.portal.um.portletservice.PumaHome");
home = (PumaHome)serviceHome.getPortletService(PumaHome.class);
PumaHome pumaHome = home;
PumaProfile pumaProfile = pumaHome.getProfile();
String currentUserName = null;
User currentUser = (User)pumaProfile.getCurrentUser();
currentUserName = currentUser.getName();
out.print(currentUserName );
%>
1. 3 個性化Portlet新增控制板
1. 3.1 問題描述
在正常情況下,我們會按照如下的方法使用 Portlet 新增班來工作。
以 wpsadmin 身份登入 Portal 6.1 系統,單擊頁面右上角的“展開選用板”按鈕,如圖 1- 10 所示。
圖 1- 10 單擊“展開選用板”按鈕
可以看到 Portlet 選用板被成功初始化,如圖 1- 11 所示,這就是傳說中的 Portlet 選用板。
圖 1- 11 傳說中的 Portlet 選用板
透過將選用板上的 Portlet 拖曳到左側頁面,可以直接將 Portlet 定製到頁面,並分配給有相關許可權的使用者使用,如圖 1- 12 所示。
圖 1- 12 可以直接將 Portlet 定製到頁面
單 擊 Portlet 列表中分類選項條目的右側,可以查閱該分類下的所有 Portlet ,如圖 1- 13 所示。
這時候就有人可能提出問題:這些分類都是預設的,難以識別,能不能按照我的類別分類,並且將我希望提供給使用者的 Portlet 新增到相應的類別裡?
回答是肯定的。以下是解決方法
圖 1- 13 Portlet 的分類
1. 3.2 解決方案
單擊 “ Portlet ”選項右側的三角形按鈕,選擇“配置”,如圖 1- 14 所示。
圖 1- 14 選擇“配置”
單 擊各個類別右側的三角形按鈕,選擇 “刪除類別”,這個類別就被刪除了,如圖 1- 15 所示。
選擇 “重新命名類別”,還可以給這個類別改名稱。
圖 1- 15 可以刪除不想要的類別
單擊 “配置”右側的三角形按鈕,選擇“建立新類別”,就可以建立新的類別了,如圖 1- 16 所示。
圖 1- 16 可以建立自己真正需要的類別
單擊建立好的新類別右側的三角形按鈕,選擇 “新增 Portlet ”,就能為這個類別分配屬於它的 Portlet ,如圖 1- 17 所示。
圖 1- 17 往新建立的類別裡新增 Portlet
如果你的類別被弄得一塌糊塗,則可以選擇配置右側的三角形按鈕,選擇 “復位成預設值”,那麼你所個性化的所有類別都將被刪除,系統會恢復成剛剛完成安裝時的預設狀態,如圖 1- 18 所示。
圖 1- 18 選擇“復位成預設值”
這裡的介紹比較簡單,還有很多其他的用法,你都可以試試。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9116427/viewspace-2222457/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Portal開發與配置技巧集錦(二)
- Portal開發與配置技巧集錦(三)
- SYBASE 使用技巧集錦(zt)
- Android開發錯誤集錦Android
- 面試集錦(一)redis與nginx面試RedisNginx
- PHP開發常用程式碼集錦PHP
- Rust 2018開發環境配置與開發效率工具集Rust開發環境
- Windows Mobile開發資源站點集錦Windows
- PageMaker排版製作精彩應用技巧集錦
- 面試集錦(八)分散式與高併發面試分散式
- Vue.JS 開發常見問題集錦Vue.js
- PHP開發工程師面試問題集錦PHP工程師面試
- 如何學習效能測試?LoadRunner小技巧集錦
- Python專案開發案例集錦及配套程式碼Python
- 《python專案開發案例集錦》讀書筆記Python筆記
- Android工程常用配置和開發技巧Android
- 史上最全的Android開發學習教程集錦【初學者】Android
- AI運動小程式開發常見問題集錦二AI
- 面試集錦(十)支付寶與微信面試
- 面試集錦(二)程式與執行緒面試執行緒
- 知識集錦
- 管理故事集錦
- vim基本配置與使用技巧
- JavaScript開發技巧必備【一】JavaScript
- angular——線上競拍錯誤集錦(一)Angular
- Python例項集錦Python
- 前端知識集錦前端
- kafka問題集錦Kafka
- 小問題集錦
- docker 踩坑集錦Docker
- flutter問題集錦Flutter
- ArchLinux 問題集錦Linux
- 程式設計師進階之路之面試題與筆試題集錦(一)程式設計師面試題筆試
- 開發提效小技巧分享(一)
- U聚合開發者大會|行業大咖現場訪談集錦行業
- Android 知識點 集錦Android
- iOS 感測器集錦iOS
- vue知識點集錦Vue