portal

更新时间:2023-03-21 15:45:26 阅读: 评论:0

变废为宝教案-坚定信念

portal
2023年3月21日发(作者:年度规划怎么写)

一、Portal开发流程:(SSHPortlet开发)

0.配置环境变量:pathclasspathjavahome为Portal的所在路径

1.首先建立一空portlet

修改工程名及包名

2.导入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转化后填上(title的值为何有时需native2ascii转换

有时不需还不清楚,待系统正式上线后再研究)。

b.在portlet项目中的中有一行,

name="">,其中定义了你的portlet项目在哪个分

类下,如果我想我的portlet项目在“人员”分类下该如何做?参照以下步骤:

关闭你的Portal,找到SSPU-Portal-Oraclecommonlib下的,用winrar

打开,找到content文件夹下的Language_zh_ties文件,用utlraedit编

辑它,新增一行:==u4ebau5458(注意等号两边不

能有空格或其它脏字符),u4ebau5458是“人员”用native2ascii转过来的。

保存文件后winrar会提示你是否保存,点击“yes”即可。然后关闭winrar,重

启你的Portal,你的项目即在“人员”分类下了!

6.配置国际化

7.配置JNDI

9.写POJO类并配置对应的XML文件

10.写DAo层

11.写Service层

12.配置spring

13.写测试类本地测试

13.写Action

14.写页面

15.配置

16.利用ANT工具生成war文件

17.启动Portal进行测试.

二、国际化支持

1.首先建立自己的Resource_、Resource_(在src目录下面)

2.在中的en

zh两行下补充一行:

ce

-bundle>其值是Resource_所在地

3.在你的jsp页面顶部添加这两行即可以增加国际化支持:

<%@tagliburi="/taglibs/id-i18n"prefix="i18n"%>

e"locale="<%=ale()%>"/>其中baName的值为你的Resource_

所在包名

在程序中使用标签:即可以显示中或英文

三、JNDI配置

在portlet开发中,往往每个portlet都需要配置数据源,如何统一使用liferayportal系

统提供的数据源?

在spring配置文件中()将如下这段:

class="Manag简笔画耳朵 erDataSource">

Driver

jdbc:oracle:thin:@192.168.1.100:1521:sspu

sspu

sspu

改成以下这段:

java:comp/env/jdbc/LiferayPool

其中,在你的Portal系统的conf文件夹下的中应该有如下配置:

auth="Container"

type="urce"

driverClassName="Driver"

url="jdbc:oracle:thin:简约客厅背景墙 @127.0.0.1:1521:orcl"

urname="system"

password="system1234"

maxActive="50"/>

这里的jdbc/liferayPool应该和你的java:comp/env/jdbc/LiferayPool对应(java:comp/e麦苗 nv/

是前缀,必须加上)

四、SSH整合

1.在中添加spring插件:

tLoaderListener

contextConfigLocation

/WEB-INF/spring/,

/WEB-INF/spring/,

/WEB-INF/spring/

2.在、中配置BEAN

3.在中配置JNDI及PoJO类的配置文件

4.写Dao层、Service层和Action

五、调试Portlet问题及解决办法

装载失败.原因:a.没有get、t方法

写错

文件名写错

中PoJo类的配置文件路径或文件名有误

e.缺少所需要的JAR包文件

2.页面跳转失败.原因:rward(“”)语句缺少return关键字.

b.跳转路径有误.

3.国际化标签无效原因:a.在中没有

标签

b.资源文件里面没有对应的项.

六、分页技术的实现

a.清楚几点:记录总数每页显示记录数要分的页数前一页后一页开始的记录

b.要得到分页前的记录集合

c.利用分页算法对集合进行处理

(1)根据当前页码将要显示的记录添加到另外的集合

(2)将转换后的集合进行显示

d.在页面上对页码进行控制

eg:页面实体:

publicclassPages{

intpage;//当前页

intback;//上一页

intnext;//下一页

intpageStart;//当前页开始数据id

intpageAmount;//每一页显示条数

intamount;//总数据条数

intpages从军行其四 ;//总页数

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

*每页显示数据条数

*@paramamount

*数据总数

*@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;

}

}

分页应用:

list为分页前的集合

Pagespages=null;

intpagesize=10;

intn=();

ListobjectList=newArrayList();

intcurrentlyPage=ameter("page")!=null?

nt(ameter("page")):1;//判断;

Pagingpaging=newPaging();

//创建分页算法对象

intamount=();

//总记录数

pages=es(currentlyPage,pagesize,amount);

//设置分页参数

ribute("pages",pages);//保存分页参数

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('${portletURL}')"

>

value="1">   |   

href="javascript:previousPage('${portletURL

}')">

   |   

value="${}">

ref="javascript:nextPage('${portletURL}')">

   |   

href="javascript:lastPage('${portletURL}')"

>

七、页面滚动条的添加

1.定义样式

2.利用层来引用样式实现滚动条的添加

………………

………………

………………

八、选项卡的使用

实现:引用CSS样式+超链接来实现的.

九、辅助类的使用

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

=”;

本文发布于:2023-03-21 15:45:25,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/zhishi/a/1679384726153996.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:portal.doc

本文 PDF 下载地址:portal.pdf

上一篇:变更申请书
下一篇:返回列表
标签:portal
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
Copyright ©2019-2022 Comsenz Inc.Powered by © 实用文体写作网旗下知识大全大全栏目是一个全百科类宝库! 优秀范文|法律文书|专利查询|