需要portal-kernel.jar和portlet.jar兩個包,放入lib下。
package com.rain.portal;
import Java.io.IOException;
import javax.portlet.GenericPortlet;
import javax.portlet.PortletException;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
public class HelloWorldPortlet extends GenericPortlet {
@Override
protected void doEdit(RenderRequest arg0, RenderResponse arg1) throws PortletException, IOException {
// TODO Auto-generated method stub
arg1.setContentType("text/html");
arg1.getWriter().println("Hello World,This is a Portlet!---doEdit");
}
@Override
protected void doView(RenderRequest arg0, RenderResponse arg1) throws PortletException, IOException {
// TODO Auto-generated method stub
arg1.setContentType("text/html");
arg1.getWriter().println("Hello World,This is a Portlet!---doView");
}
}
package com.rain.portal;
import Java.io.IOException;
import javax.portlet.GenericPortlet;
import javax.portlet.PortletException;
import javax.portlet.PortletRequestDispatcher;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
public class HelloJSPPortlet extends GenericPortlet {
@Override
protected void doEdit(RenderRequest arg0, RenderResponse arg1) throws PortletException, IOException {
// TODO Auto-generated method stub
arg1.setContentType("text/html");
String jspName=getPortletConfig().getInitParameter("edit-jsp");
PortletRequestDispatcher rd=getPortletContext().getRequestDispatcher(jspName);
rd.include(arg0, arg1);
}
@Override
protected void doView(RenderRequest arg0, RenderResponse arg1) throws PortletException, IOException {
// TODO Auto-generated method stub
arg1.setContentType("text/html");
String jspName=getPortletConfig().getInitParameter("view-jsp");
PortletRequestDispatcher rd=getPortletContext().getRequestDispatcher(jspName);
rd.include(arg0, arg1);
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "
<web-app>
<display-name>TestPortal</display-name>
<listener>
<listener-class>
com.liferay.portal.kernel.servlet.PortletContextListener</listener-class>
</listener>
<servlet>
<servlet-name>HelloWorldPortlet</servlet-name>
<servlet-class>
com.liferay.portal.kernel.servlet.PortletServlet</servlet-class>
<init-param>
<param-name>portlet-class</param-name>
<param-value>com.rain.portal.HelloWorldPortlet</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet>
<servlet-name>HelloJSPPortlet</servlet-name>
<servlet-class>
com.liferay.portal.kernel.servlet.PortletServlet</servlet-class>
<init-param>
<param-name>portlet-class</param-name>
<param-value>com.rain.portal.HelloJSPPortlet</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldPortlet</servlet-name>
<url-pattern>/HelloWorldPortlet/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HelloJSPPortlet</servlet-name>
<url-pattern>/HelloJSPPortlet/*</url-pattern>
</servlet-mapping>
<taglib>
<taglib-uri>PortletTag</taglib-uri>
<taglib-location>/WEB-INF/tld/liferay-portlet.tld</taglib-location>
</taglib>
</web-app>
portlet.xml
<?xml version="1.0"?>
<portlet-app xmlns="
http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd <portlet>
<portlet-name>HelloWorldPortlet</portlet-name>
<display-name>HelloWorldPortlet</display-name>
<portlet-class>com.rain.portal.HelloWorldPortlet</portlet-class>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
</supports>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>edit</portlet-mode>
</supports>
<portlet-info>
<title>HelloWorldPortlet</title>
<short-title>HelloWorldPortlet</short-title>
<keywords>HelloWorldPortlet</keywords>
</portlet-info>
<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>
<portlet-name>HelloJSPPortlet</portlet-name>
<display-name>HelloJSPPortlet</display-name>
<portlet-class>com.rain.portal.HelloJSPPortlet</portlet-class>
<init-param>
<name>view-jsp</name>
<value>/view.jsp</value>
</init-param>
<init-param>
<name>edit-jsp</name>
<value>/edit.jsp</value>
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
</supports>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>edit</portlet-mode>
</supports>
<portlet-info>
<title>HelloJSPPortlet</title>
<short-title>HelloJSPPortlet</short-title>
<keywords>HelloJSPPortlet</keywords>
</portlet-info>
<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>
liferay-portlet.xml
<?xml version="1.0"?>
<!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application 4.2.0//EN" "
<liferay-portlet-app>
<portlet>
<portlet-name>HelloWorldPortlet</portlet-name>
<struts-path>HelloWorldPortlet</struts-path>
<use-default-template>true</use-default-template>
<instanceable>true</instanceable>
</portlet>
<portlet>
<portlet-name>HelloJSPPortlet</portlet-name>
<struts-path>HelloJSPPortlet</struts-path>
<use-default-template>true</use-default-template>
<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>
定義Portlet默認的所屬類別。Liferay Portal對Portlet實行按類別管理和劃分用戶權限。
liferay-display.xml
<?xml version="1.0"?>
<!DOCTYPE display PUBLIC "-//Liferay//DTD Display 4.0.0//EN" "
<display>
<category name="category.test">
<portlet id="HelloWorldPortlet"/>
<portlet id="HelloJSPPortlet"/>
</category>
</display>
view.jsp
<table cellpadding="8" cellspacing="0" width="100%">
<tr>
<td>
<font class="Portlet-font" style="font-size:x-small;">
This is a <b>Sample JSP Portlet</b> used in viewing model. Use this as a quick way to include JSPs.
</font>
</td>
</tr>
</table>
edit.jsp
<table cellpadding="8" cellspacing="0" width="100%">
<tr>
<td>
<font class="Portlet-font" style="font-size:x-small;">
This is a <b>Sample JSP Portlet</b> used in editing model. Use this as a quick way to include JSPs.
</font>
</td>
</tr>
</table>
posted on 2007-01-25 14:16
周銳 閱讀(1799)
評論(2) 編輯 收藏 所屬分類:
Portal