portlet初学习及HelloWorld例子

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了portlet初学习及HelloWorld例子相关的知识,希望对你有一定的参考价值。

1. 在myeclipse中新建一个web project,在src中新建如下类:

 

Java代码  技术分享
  1. package com.yoyo.portlet;  
  2.   
  3. import java.io.IOException;  
  4.   
  5. import javax.portlet.GenericPortlet;  
  6. import javax.portlet.PortletException;  
  7. import javax.portlet.PortletRequestDispatcher;  
  8. import javax.portlet.RenderRequest;  
  9. import javax.portlet.RenderResponse;  
  10.   
  11. public class TestPortlet extends GenericPortlet  
  12. {  
  13.   
  14.     public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException   
  15.     {  
  16.         response.setContentType("text/html");  
  17.           
  18.         PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/index.jsp");  
  19.       
  20.         rd.include(request, response);  
  21.     }  
  22.       
  23.     public void doEdit(RenderRequest request, RenderResponse response) throws PortletException, IOException   
  24.     {  
  25.         response.setContentType("text/html");  
  26.       
  27.         String jspName = getPortletConfig().getInitParameter("jspEdit");  
  28.       
  29.         PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher(  
  30.                 jspName);  
  31.       
  32.         rd.include(request, response);  
  33.     }  
  34. }  

 

 

2. 在WebRoot/WEB-INF下面新建一个portlet.xml的文件,里面内容如下:

 

Xml代码  技术分享
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"  
  3.     version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd  
  5.                         http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">  
  6.   
  7.     <portlet>  
  8.         <description>Test the portlet</description>  
  9.         <portlet-name>hello</portlet-name>  
  10.         <display-name>test portlet</display-name>  
  11.         <portlet-class>com.yoyo.portlet.TestPortlet</portlet-class>  
  12.           
  13.         <expiration-cache>-1</expiration-cache>  
  14.         <supports>  
  15.             <mime-type>text/html</mime-type>  
  16.             <portlet-mode>VIEW</portlet-mode>  
  17.             <portlet-mode>EDIT</portlet-mode>  
  18.         </supports>  
  19.         <supported-locale>en</supported-locale>  
  20.         <portlet-info>  
  21.             <title>TEst the portlet</title>  
  22.             <short-title>test</short-title>  
  23.             <keywords>test,portlet</keywords>  
  24.         </portlet-info>  
  25.     </portlet>  
  26.       
  27. </portlet-app>  

 

 

3. 修改WebRoot/WEB-INF下面的web.xml文件,内容如下:

 

Xml代码  技术分享
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="2.4"   
  3.     xmlns="http://java.sun.com/xml/ns/j2ee"   
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   
  6.     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
  7.       
  8.     <servlet>  
  9.         <servlet-name>test</servlet-name>  
  10.         <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>  
  11.         <init-param>  
  12.             <param-name>portlet-name</param-name>  
  13.             <param-value>hello</param-value>  
  14.         </init-param>  
  15.         <load-on-startup>1</load-on-startup>  
  16.     </servlet>  
  17.       
  18.     <!-- 下面的<servlet-name>test</servlet-name>中的test和上面的<servlet></servlet>中<servlet-name></servlet-name>的名字对应 -->  
  19.     <!-- 下面的<url-pattern>/PlutoInvoker/hello</url-pattern>中的hello则与portlet.xml中<portlet></portlet>中<portlet-name></portlet-name>的名字对应-->  
  20.     <servlet-mapping>  
  21.         <servlet-name>test</servlet-name>  
  22.         <url-pattern>/PlutoInvoker/hello</url-pattern>  
  23.     </servlet-mapping>  
  24.     <welcome-file-list>  
  25.         <welcome-file>index.jsp</welcome-file>  
  26.     </welcome-file-list>  
  27. </web-app>  

 

4. 将tomcat/shared/lib下面的jar包引到项目中来(我的里面已经放好了,是做其他项目用的到的,在这个中可能有些jar包不需要),这些jar包如下:castor-1.1.1.jar,commons-codec-1.3.jar,commons-httpclient-3.0.1.jar,commons-logging.jar,log4j-1.2.11.jar,pluto-container-1.1.6.jar,pluto-descriptor-api-1.1.6.jar,pluto-descriptor-impl-1.1.6.jar,pluto-taglib-1.1.6.jar,portlet-api-1.0.jar,simpleAuthClient.jar,xpp3_min-1.1.4c.jar,xstream-1.3.jar。

 

 

经过以上步骤,一个简单的portlet就建好了。下载pluto-current-bundle包,解压后启动bin目录下的startup.bat,打开http://localhost:8080/pluto/portal,登陆进去后,选择上面的Pluto Admin,新建一个页面,并在下面选择自己的portlet项目,这样就可以查看效果了。

 

以上是关于portlet初学习及HelloWorld例子的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot初体验及原理解析

hexo - 初体验

Flutter学习-flutter开发初体验

2018.2.21 Python 初学习

Liferay7 BPM门户开发之28: Portlet文件上传,及实体类同步更新上传

python初体验-函数