
一、Portal開發(fā)流程:(SSHPortlet開發(fā))
0.配置環(huán)境變量:pathclasspathjavahome為Portal的所在路徑
1.首先建立一空portlet
修改工程名及包名
2.導(dǎo)入Portlet所需要JAR包
3.修改ties
=porta1容器所在的路徑
=工程的所在路徑(../工程名)
=war包的名字()
=jar包的名字祝福女生的話 ()
4.修改所需是的XML文件
(1).中的portletid
中的portlet-name、struts-path
中的portlet-name、display-name、short-title、keywords
中的display-name、rvlet-name
以上四項中的這些標簽取值最好都一模一樣。
(2)將中的
person和中的
、
中的person字符串都替換成你自己的虛擬路徑名,中的所有虛
擬路徑也替換成你的路徑名。
5.修改portlet標題
a.如果想讓portlet的title也中文,則將中的title取值為中文,如果部
署有誤,則將其native2ascii轉(zhuǎn)化后填上(title的值為何有時需native2ascii轉(zhuǎn)換
有時不需還不清楚,待系統(tǒng)正式上線后再研究)。
b.在portlet項目中的中有一行,
name="">,其中定義了你的portlet項目在哪個分
類下,如果我想我的portlet項目在“人員”分類下該如何做?參照以下步驟:
關(guān)閉你的Portal,找到SSPU-Portal-Oraclecommonlib下的,用winrar
打開,找到content文件夾下的Language_zh_ties文件,用utlraedit編
輯它,新增一行:==u4ebau5458(注意等號兩邊不
能有空格或其它臟字符),u4ebau5458是“人員”用native2ascii轉(zhuǎn)過來的。
保存文件后winrar會提示你是否保存,點擊“yes”即可。然后關(guān)閉winrar,重
啟你的Portal,你的項目即在“人員”分類下了!
6.配置國際化
7.配置JNDI
9.寫POJO類并配置對應(yīng)的XML文件
10.寫DAo層
11.寫Service層
12.配置spring
13.寫測試類本地測試
13.寫Action
14.寫頁面
15.配置
16.利用ANT工具生成war文件
17.啟動Portal進行測試.
二、國際化支持
1.首先建立自己的Resource_、Resource_(在src目錄下面)
2.在中的
-bundle>其值是Resource_所在地
3.在你的jsp頁面頂部添加這兩行即可以增加國際化支持:
<%@tagliburi="/taglibs/id-i18n"prefix="i18n"%>
e"locale="<%=ale()%>"/>其中baName的值為你的Resource_
所在包名
在程序中使用標簽:
三、JNDI配置
在portlet開發(fā)中,往往每個portlet都需要配置數(shù)據(jù)源,如何統(tǒng)一使用liferayportal系
統(tǒng)提供的數(shù)據(jù)源?
在spring配置文件中()將如下這段:
class="Manag簡筆畫耳朵 erDataSource">
改成以下這段:
其中,在你的Portal系統(tǒng)的conf文件夾下的中應(yīng)該有如下配置:
auth="Container"
type="urce"
driverClassName="Driver"
url="jdbc:oracle:thin:簡約客廳背景墻 @127.0.0.1:1521:orcl"
urname="system"
password="system1234"
maxActive="50"/>
這里的jdbc/liferayPool應(yīng)該和你的java:comp/env/jdbc/LiferayPool對應(yīng)(java:comp/e麥苗 nv/
是前綴,必須加上)
四、SSH整合
1.在中添加spring插件:
tLoaderListener
/WEB-INF/spring/,
/WEB-INF/spring/,
/WEB-INF/spring/
2.在、中配置BEAN
3.在中配置JNDI及PoJO類的配置文件
4.寫Dao層、Service層和Action
五、調(diào)試Portlet問題及解決辦法
裝載失敗.原因:a.沒有g(shù)et、t方法
寫錯
文件名寫錯
中PoJo類的配置文件路徑或文件名有誤
e.缺少所需要的JAR包文件
2.頁面跳轉(zhuǎn)失敗.原因:rward(“”)語句缺少return關(guān)鍵字.
b.跳轉(zhuǎn)路徑有誤.
3.國際化標簽無效原因:a.在中沒有
標簽
b.資源文件里面沒有對應(yīng)的項.
六、分頁技術(shù)的實現(xiàn)
a.清楚幾點:記錄總數(shù)每頁顯示記錄數(shù)要分的頁數(shù)前一頁后一頁開始的記錄
b.要得到分頁前的記錄集合
c.利用分頁算法對集合進行處理
(1)根據(jù)當前頁碼將要顯示的記錄添加到另外的集合
(2)將轉(zhuǎn)換后的集合進行顯示
d.在頁面上對頁碼進行控制
eg:頁面實體:
publicclassPages{
intpage;//當前頁
intback;//上一頁
intnext;//下一頁
intpageStart;//當前頁開始數(shù)據(jù)id
intpageAmount;//每一頁顯示條數(shù)
intamount;//總數(shù)據(jù)條數(shù)
intpages從軍行其四 ;//總頁數(shù)
publicintgetPages(){
returnpages;
}
publicvoidtPages(intpages){
=pages;
}
publicintgetPageStart(){
returnpageStart;
}
publicvoidtPageStart(intpageStart){
art=pageStart;
}
publicintgetAmount(){
returnamount;
}
publicvoidtAmount(intamount){
=amount;
}
publicintgetBack(){
returnback;
}
publicvoidt買菜的作文 Back(intback){
=back;
}
publicintgetNext(){
returnnext;
}
publicvoidtNext(intnext){
=next;
}
publicintgetPage(){
returnpage;
}
publicvoidtPage(intpage){
=page;
}
publicintgetPageAmount(){
returnpageAmount;
}
publicvoidtPageAmount(intpageAmount){
ount=pageAmount;
}
}
頁面算法:
publicclassPaging{
/**
*
*@parampage
*當前頁
*@parampageAmount
*每頁顯示數(shù)據(jù)條數(shù)
*@paramamount
*數(shù)據(jù)總數(shù)
*@return分頁對象
*/
publicPagesgetPages(intpage,intpageAmount,intamount){
intpages;
intpageStart;
intback;
intnext;
page=page!=0?page:1;
if(amount/pageAmount>0){
pages=amount%pageAmount==0?amount/pageAmount:
amount/pageAmount+1;
}el{
pages=1;
}
back=page>1?page-1:0;
next=page
pageStart=(page-1)*pageAmount;
Pagesp=newPages();
e(page);
eAmount(pageAmount);
unt(amount);
es(pages);
eSt小小推銷員 art(pageStart);
k(back);
t(next);
returnp;
}
}
分頁應(yīng)用:
list為分頁前的集合
Pagespages=null;
intpagesize=10;
intn=();
ListobjectList=newArrayList();
intcurrentlyPage=ameter("page")!=null?
nt(ameter("page")):1;//判斷;
Pagingpaging=newPaging();
//創(chuàng)建分頁算法對象
intamount=();
//總記錄數(shù)
pages=es(currentlyPage,pagesize,amount);
//設(shè)置分頁參數(shù)
ribute("pages",pages);//保存分頁參數(shù)
inti=currentlyPage*10-10;
if(i+10<=n){
for(intj=i;j
((j));
}
}el{
for(intj=i;j
((j));
}
}
ribute("stuLeaveList",objectList);
在頁面上的使用:
key=""/> ${} &nb
sp;
ef="javascript:firstPage
>
href="javascript:previousPage
}')">
|
ref="javascript:nextPage
|
href="javascript:lastPage
>
七、頁面滾動條的添加
1.定義樣式
#multi-list{
border:0solid#CCCCCC;
clear:both;
margin:0;
overflow-x:auto;//平行滾動條
overflow-y:auto;//垂直滾動條
padding:0;
width:700px;
height:260px;
float:center;
}
2.利用層來引用樣式實現(xiàn)滾動條的添加
………………
………………
………………
八、選項卡的使用
實現(xiàn):引用CSS樣式+超鏈接來實現(xiàn)的.
九、輔助類的使用
1.為什么要使用輔助類?
當一張表中的某一字段引用另外一張表時,這兩張表又沒有外鍵約束,
這時才考慮使用輔助類.
2.使用方法:例如:(1).
ClassA{}
ClassB{}
ClassAssist{//輔助類
PrivateAa;
PrivateBb;
PublicAssist(Aa,Bb){
This.a=a;
This.b=b;
}
Get/Set方法;
}
(2).Stringhql=”lectnewAssist(a,b)fromAa,B
=”;
本文發(fā)布于:2023-03-21 15:45:25,感謝您對本站的認可!
本文鏈接:http://www.newhan.cn/zhishi/a/1679384726153996.html
版權(quán)聲明:本站內(nèi)容均來自互聯(lián)網(wǎng),僅供演示用,請勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除。
本文word下載地址:portal.doc
本文 PDF 下載地址:portal.pdf
| 留言與評論(共有 0 條評論) |