liferay做个简单的hello world 的例子。

1.建个java工程,如:testportal.
2.在testportal工程下新建webRoot文件夹,在webRoot文件夹下建WEB-INF文件夹。
3.右键工程名,在java build path节点指定工程的默认输出路径为testportal/WebRoot/WEB-INF/classes。
4.把D:\liferay-portal-5.2.2\tomcat-5.5.27\common\lib\ext目录下的jar包全作为扩展jar包的形式增加到工程。
5.在WebRoot文件夹下新建view.jsp页面,页面里面写上如:hello world。
6.在src目录下,新建com.chinacreator.portal包,在包下新建MyPortlet.java类.内容如:
package com.chinacreator.portal;

import java.io.IOException;

import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.PortletException;
import javax.portlet.PortletRequestDispatcher;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;

import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;

public class MyPortlet extends javax.portlet.GenericPortlet{

protected String editJSP;
protected String helpJSP;
protected String viewJSP;

private static Log _log = LogFactoryUtil.getLog(MyPortlet.class);

/* (non-Javadoc)
* @see javax.portlet.GenericPortlet#doDispatch(javax.portlet.RenderRequest, javax.portlet.RenderResponse)
*/
@Override
protected void doDispatch(RenderRequest request, RenderResponse response)
throws PortletException, IOException {
String jspPage = request.getParameter("jspPage");

if(jspPage != null){
include(jspPage,request,response);
}
else {
super.doDispatch(request, response);
}
}

/* (non-Javadoc)
* @see javax.portlet.GenericPortlet#doEdit(javax.portlet.RenderRequest, javax.portlet.RenderResponse)
*/
@Override
protected void doEdit(RenderRequest request, RenderResponse response)
throws PortletException, IOException {
if (request.getPreferences() == null) {
super.doEdit(request, response);
}
else {
include(editJSP, request, response);
}
}

/* (non-Javadoc)
* @see javax.portlet.GenericPortlet#doHelp(javax.portlet.RenderRequest, javax.portlet.RenderResponse)
*/
@Override
protected void doHelp(RenderRequest request, RenderResponse response)
throws PortletException, IOException {
// TODO Auto-generated method stub
include(helpJSP, request, response);
}

/* (non-Javadoc)
* @see javax.portlet.GenericPortlet#doView(javax.portlet.RenderRequest, javax.portlet.RenderResponse)
*/
@Override
protected void doView(RenderRequest request, RenderResponse response)
throws PortletException, IOException {
// TODO Auto-generated method stub
include(viewJSP, request, response);
}

/* (non-Javadoc)
* @see javax.portlet.GenericPortlet#init()
*/
@Override
public void init() throws PortletException {
editJSP = getInitParameter("edit-jsp");
helpJSP = getInitParameter("help-jsp");
viewJSP = getInitParameter("view-jsp");
}

/* (non-Javadoc)
* @see javax.portlet.GenericPortlet#processAction(javax.portlet.ActionRequest, javax.portlet.ActionResponse)
*/
@Override
public void processAction(ActionRequest request, ActionResponse response)
throws PortletException, IOException {
// TODO Auto-generated method stub
}

protected void include(String path,RenderRequest request,
RenderResponse response) throws IOException,PortletException {
PortletRequestDispatcher prd = getPortletContext().getRequestDispatcher(path);

if(prd == null) {
_log.error(path + " is not a valid include");
}
else {
prd.include(request, response);
}
}

}

7.在WEB-INF文件夹下,新建portlet.xml配置文件。内容比如:
<?xml version="1.0" encoding="UTF-8"?>
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd /opt/SUNWportal/dtd/portlet.xsd" version="2.0">
<portlet>
<portlet-name>testportal</portlet-name>
<display-name>Sample JSP</display-name>
<portlet-class>com.chinacreator.portal.MyPortlet</portlet-class>
<init-param>
<name>view-jsp</name>
<value>/view.jsp</value>
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
</supports>
<portlet-info>
<title>myfirstportal</title>
<short-title>myfirstportal</short-title>
<keywords>myfirstportal</keywords>
</portlet-info>
<security-role-ref>
<role-name>administrator</role-name>
</security-role-ref>
<security-role-ref>
<role-name>guest</role-name>
</security-role-ref>
<security-role-ref>
<role-name>power-user</role-name>
</security-role-ref>
<security-role-ref>
<role-name>user</role-name>
</security-role-ref>
</portlet>
</portlet-app>

8.在WEB-INF文件夹下,新建liferay-portlet.xml的配置文件,内容如:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application 5.2.0//EN" "http://www.liferay.com/dtd/liferay-portlet-app_5_2_0.dtd">

<liferay-portlet-app>
<portlet>
<portlet-name>testportal</portlet-name>
<instanceable>true</instanceable>
</portlet>
<role-mapper>
<role-name>administrator</role-name>
<role-link>Administrator</role-link>
</role-mapper>
<role-mapper>
<role-name>guest</role-name>
<role-link>Guest</role-link>
</role-mapper>
<role-mapper>
<role-name>power-user</role-name>
<role-link>Power User</role-link>
</role-mapper>
<role-mapper>
<role-name>user</role-name>
<role-link>User</role-link>
</role-mapper>
</liferay-portlet-app>

9.在WEB-INF文件夹下,新建liferay-display.xml的配置文件,内容如:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE display PUBLIC "-//Liferay//DTD Display 5.2.0//EN" "http://www.liferay.com/dtd/liferay-display_5_2_0.dtd">

<display>
<category name="category.test">
<portlet id="testportal"></portlet>
</category>
</display>

10.启动tomcat.启动完成后,进入D:\workspace\testportal\WebRoot,将WEB-INF和view.jsp一起打成war包。
11.在打开的网页页面下方,输入用户名:bruno@7cogs.com,密码:bruno登录。(test@liferay.com在5.2中已经不能用了。bruno@7cogs.com是具有管理员权限的账户。具体用户可以查看表user_)
12.在右上角点增加应用(add application)后,点最下面的install more applications增加我们刚做好的hello world应用。在加载的页面中,点upload file标签,点浏览按钮,加入我们刚打的war包,最后install。

13.返回,再点add application,就可能看到我们自己做的portal了。在test节点下,就有:myfirstportal了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值