LightPortal的下载地址:www.LightPortal.org
部署一个LightPortal项目或是在已有的项目中嵌入LightPortal并不难,官方的那篇全英文开发指南已经足以应付。需要注意的是,如果你想将LightPortal嵌入一个已经配置了Hibernate的项目中去的话,需要更改一下Hibernate.cfg.xml文件,LightPortal的配置文件很多,需要我们关注的配置文件是,portal-layout.xml,portal-security.xml,portlet.xml,portlet-config.xml,这是我们开发过程中经常会用到的四个。
当我们要创建1个全新的自定义Portlet的时候,配置portlet-config.xml是第1步,你可以照葫芦画瓢,复制一段被<portlet>标签包围的代码,然后改一下NAME属性及PATH属性,就成为了一个你自己的Portlet了,NAME属性作为Portlet的唯一识别,PATH属性为该Portlet的访问路径。第2个需要配置的是portlet.xml,里面的<portlet-class>指定了用户自定义的该Portlet的业务处理类的路径,最后就是portal-layout.xml,它控制着你所有的Portlet在页面上的显示和排列,需要注意的是portal-security.xml,这个配置文件虽然不是经常被用到,但里面有些地方却很重要,例如,如果你已经另外配置了一个dataSource,而没有使用LightPortal自带的内存数据库的话,你一定不想每次启动服务器的时候都自动重建你在Hibernate配置文件里配置的所有数据表吧?将portal-security.xml最上面的<reCreateTable>true</reCreateTable>改为false就可以了,如果使用内存数据库的话,请改回true。改完了这几个配置文件后,接下来就是页面,LightPortal源码里有很多的例子,随便找几个复制到你的项目里就可以了,记得在你相应的业务处理类里配置你的页面的路径。启动你的服务器,1个简单的PortalDemo就已经可以运行了,运行的效果取决于你的配置文件,只需做一些微调,便可以达到你想要的效果。
下载下来的源代码LightPortal-1.2.2.zip,解压缩后,导入到eclipse不能正常运行,不是一个正常的war工程。
在eclipse中创建一个war工程,分别将WebContent,src进行覆盖。(或者在Eclipse中进行工程转换,默认的工程是个java project,编译会有很多错误,需要转化成Dynamic Web Project。打开“project properties",点中"Project Facets",选中dynamic web module,java)然后进行下面的修改。
1、先忽略web.xml文件异常的提示,
2、修改portlet-config.xml
将下面红色的两行倒过来一下。
<portlet>
<name>deliciousPortlet</name>
<path>/deliciousPortlet.lp</path>
<icon>/light/images/delicious.gif</icon>
<title>portlet.title.delicious</title>
<iconCssSprite>icons delicious</iconCssSprite>
3、修改portal-security.xml
<theme>theme5</theme>
<permissions>
增加一个默认的permission解决编译报错
<permission>PORTAL_SIGN_IN</permission>
4、修改数据库设置:/lightportal/src/hibernate.cfg.xml
<!-- mysql -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/light</property>
<property name="connection.username"></property>
<property name="connection.password"></property>
5、添加一个tomcat5.5.27的server,将lightportal加入到server中,并动server,通过http://localhost:8080/lightportal/进行访问,用户名: 密码admin
简单的环境搭建成功。下面进一步研究。