`
115893520
  • 浏览: 142709 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

portlet初学习及HelloWorld例子

阅读更多
在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. }  

package com.yoyo.portlet;

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 TestPortlet extends GenericPortlet
{

	public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException 
	{
		response.setContentType("text/html");
		
		PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/index.jsp");
	
		rd.include(request, response);
	}
	
	public void doEdit(RenderRequest request, RenderResponse response) throws PortletException, IOException 
	{
		response.setContentType("text/html");
	
		String jspName = getPortletConfig().getInitParameter("jspEdit");
	
		PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher(
				jspName);
	
		rd.include(request, response);
	}
}

 

 

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>  

<?xml version="1.0" encoding="UTF-8"?>
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
	version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd
                        http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">

	<portlet>
		<description>Test the portlet</description>
		<portlet-name>hello</portlet-name>
		<display-name>test portlet</display-name>
		<portlet-class>com.yoyo.portlet.TestPortlet</portlet-class>
		
		<expiration-cache>-1</expiration-cache>
		<supports>
			<mime-type>text/html</mime-type>
			<portlet-mode>VIEW</portlet-mode>
			<portlet-mode>EDIT</portlet-mode>
		</supports>
		<supported-locale>en</supported-locale>
		<portlet-info>
			<title>TEst the portlet</title>
			<short-title>test</short-title>
			<keywords>test,portlet</keywords>
		</portlet-info>
	</portlet>
	
</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>  

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
	xmlns="http://java.sun.com/xml/ns/j2ee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	
	<servlet>
		<servlet-name>test</servlet-name>
		<servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
		<init-param>
			<param-name>portlet-name</param-name>
			<param-value>hello</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	
	<!-- 下面的<servlet-name>test</servlet-name>中的test和上面的<servlet></servlet>中<servlet-name></servlet-name>的名字对应 -->
	<!-- 下面的<url-pattern>/PlutoInvoker/hello</url-pattern>中的hello则与portlet.xml中<portlet></portlet>中<portlet-name></portlet-name>的名字对应-->
	<servlet-mapping>
		<servlet-name>test</servlet-name>
		<url-pattern>/PlutoInvoker/hello</url-pattern>
	</servlet-mapping>
  	<welcome-file-list>
    	<welcome-file>index.jsp</welcome-file>
  	</welcome-file-list>
</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 - Apache Pluto - Hello World Portlet

    在本文中,我们将深入探讨“Portlet - Apache Pluto - Hello World Portlet”这一主题,了解如何使用Apache Pluto开发一个简单的portlet。 首先,我们需要了解portlet的基本概念。Portlet是一种可以在门户(Portal...

    portlet详细例子

    首先,我们来看"Helloworld例子"。这是一个入门级别的教程,通常会展示最基本的portlet如何被创建、部署和运行。开发者会从中学习到如何定义portlet的配置元数据,编写portlet的Java代码(包括服务端的Portlet类和...

    PortLet 入门小例子

    在这个示例中,可能会有一个简单的“Hello, World!”消息或者一个动态数据的展示。 6. **部署portlet**: 将portlet打包成WAR文件,然后将其部署到支持portlet的应用服务器或门户平台。部署可以通过应用服务器的...

    porlet-Hello World实例

    通过这个“porlet-Hello World实例”,你可以学习到Porlet的基本结构、开发流程以及如何在实际环境中运行Porlet。这个简单的实例是进一步探索Porlet开发、理解和掌握更复杂Porlet功能的良好起点。

    Spring Portlet MVC的实例 eclispe project

    通过研究和运行这个例子,开发者可以学习如何在Eclipse中设置Spring Portlet MVC项目,以及如何调试和测试portlet应用程序。此外,它还可以作为进一步开发复杂portlet应用的基础,例如集成数据库、安全控制、缓存...

    Portlet 入门实例

    以"HelloWorld"为例,这是一个典型的Portlet入门程序,它将展示如何创建一个简单的Portlet。这个例子可能会包含以下步骤: 1. **创建portlet项目**:使用Maven或Eclipse IDE创建一个新的portlet项目,设置必要的...

    liferay经典的例子源码

    "liferay经典的例子源码"这个资源包含了Liferay开发中的一个经典示例,名为"hello-world-ext",这是一个基础的Liferay扩展项目,非常适合初学者了解和学习Liferay的插件开发。 首先,我们要理解"Liferay扩展"的概念...

    portal.txt

    一个简单的Portlet实现,如HelloWorld Portlet,需要实现`javax.portlet.Portlet`接口,并覆盖`doView()`方法来响应渲染请求。在这个例子中,Portlet将向用户显示“Hello Portlet”的消息。 总之,Portal和Portlet...

    struts2经典实例

    `Struts2_HelloWorld` 是经典的“Hello, World!”示例,它是最基本的入门教程。这个例子简单地演示了如何设置Struts2环境,创建第一个Action并显示简单的输出。 通过以上这些实例,你可以逐步学习和掌握Struts2的...

    struts2.0.14_apps

    3. **struts2-blank-2.0.14.war**:这是一个空白项目,通常包含了Struts 2的基本配置和一个基本的Hello World示例。它是新项目的基础,开发者可以在此基础上添加自己的业务逻辑和视图。通过分析这个空白应用,开发者...

    infoCMS安装软件及相关说明文档

    手册中的步骤指导提供了如何开发一个HelloWorld Portlet的例子,以及如何将其打包和部署。 最后,InfoGlue还提供了工作流(Workflows)功能,允许管理员和内容创建者在InfoGlue环境中创建复杂的审批流程,从而确保...

    Spring-Reference_zh_CN(Spring中文参考手册)

    使用BeanPostProcessor的Hello World示例 3.7.1.2. RequiredAnnotationBeanPostProcessor示例 3.7.2. 用BeanFactoryPostProcessor定制配置元数据 3.7.2.1. PropertyPlaceholderConfigurer示例 3.7.2.2. ...

Global site tag (gtag.js) - Google Analytics