在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项目,这样就可以查看效果了。
分享到:
相关推荐
HelloWorld 工程 说明文档 Portlet
portlet详细例子 Helloworld例子 使用说明 API文档 欢迎下载学习
工程源代碼 博文链接:https://myhongkongzhen.iteye.com/blog/531352
适合入门的用户学习。主要是关于portlet最基本的配置和代码。
HelloWorld porlet that runs an external command (the example runs the Unix command ps). Compatible with GridSphere 3.1
NULL 博文链接:https://houtao.iteye.com/blog/1766562
使用struts1.X实现了liferay portlet插件。
liferay portlet例子 liferay portlet例子
jsr168 portlet的开发 和 ibm portlet的开发
描述怎样制作并部署一个简单的portlet
最简单的hello-world-portlet:最简单的Hello World-portlet 作者:彼得·帕拉加(Peter Palaga),托马斯·休特(Thomas Heute) 级别:初学者技术:Portlet 简介:每个可能的portlet的本质。 目标产品:JPP 资料...
很好的一个小例子 上面有2个portlet 一个集成了天气预报系统,一个集成了获取系统时间系统,直接解压加到myeclipse中启动pluto就可以显示在网页上
NULL 博文链接:https://caerun.iteye.com/blog/420376
Spring 3.0 mvc portlet demo 很好的portlet学习示例。集合了portlet Spring3.0 注释配置bean等
针对现有的Stringbeans3.5版的门户,根据自己的经验整理添加外部portlet应用的文档和三个例子,以及相关的jar包。
1. portlet的类结构 2. portlet的过滤器,拦截器
Portlet标准汉化手册
portlet-api.jar portlet-api.jar portlet-api.jar