﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-&lt;h3 style="font-family: Comic Sans MS"&gt;&lt;font color="#FA1A0A" size="10"&gt;︻┳═一Java&lt;/font&gt;&lt;/h3&gt;-随笔分类-Portal</title><link>http://www.blogjava.net/rain1102/category/37652.html</link><description>&lt;br/&gt;&lt;font color="green" style="font-family: 华文行楷;font-size:16px;"&gt;子曰：危邦不入，乱邦不居。天下有道则见，无道则隐。&lt;/font&gt;&lt;font color="#3C1435"&gt;&lt;/font&gt;</description><language>zh-cn</language><lastBuildDate>Fri, 20 Feb 2009 13:59:55 GMT</lastBuildDate><pubDate>Fri, 20 Feb 2009 13:59:55 GMT</pubDate><ttl>60</ttl><item><title>liferay portlet处理流程之一</title><link>http://www.blogjava.net/rain1102/archive/2007/01/28/96353.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Sun, 28 Jan 2007 01:59:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2007/01/28/96353.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/96353.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2007/01/28/96353.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/96353.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/96353.html</trackback:ping><description><![CDATA[<div style="MARGIN-TOP: 5px; MARGIN-LEFT: 15px">
				<b>关键字:</b> &#160; liferay&#160;&#160;&#160;&#160; </div>
		<div style="MARGIN-TOP: 10px; MARGIN-LEFT: 15px">
				<table width="100%">
						<tbody>
								<tr>
										<td>
												<div>
														<span id="txtContent">
																<p>
																		<font face="Arial">
																				<strong>
																						<font color="#0000ff">// 初始化</font>
																						<br />
																				</strong>portal.servlet.MainServlet.init() <br />&#160;// process startup events<br />&#160;StartupAction.run()</font>
																</p>
																<p>
																		<font face="Arial">&#160;// 初始化portlets.<br />&#160;String[] xmls = new String[] {<br />&#160;&#160;Http.URLtoString(ctx.getResource("/WEB-INF/portlet.xml")),<br />&#160;&#160;Http.URLtoString(ctx.getResource("/WEB-INF/portlet-ext.xml")),<br />&#160;&#160;Http.URLtoString(ctx.getResource("/WEB-INF/liferay-portlet.xml")),<br />&#160;&#160;Http.URLtoString(ctx.getResource("/WEB-INF/liferay-portlet-ext.xml")),<br />&#160;&#160;Http.URLtoString(ctx.getResource("/WEB-INF/web.xml"))<br />&#160;};<br />&#160;PortletLocalServiceUtil.initEAR(xmls)</font>
																</p>
																<p>
																		<font face="Arial">&#160;// 初始化display.<br />&#160;String xml = Http.URLtoString(ctx.getResource(<br />&#160;&#160;&#160;"/WEB-INF/liferay-display.xml"));<br />&#160;PortletCategory newPortletCategory =<br />&#160;&#160;PortletLocalServiceUtil.getEARDisplay(xml);<br />&#160;portletCategory.merge(newPortletCategory);</font>
																</p>
																<p>
																		<font face="Arial">&#160;// 初始化layout模板.<br />&#160;String[] xmls = new String[] {<br />&#160;&#160;Http.URLtoString(ctx.getResource(<br />&#160;&#160;&#160;"/WEB-INF/liferay-layout-templates.xml")),<br />&#160;&#160;Http.URLtoString(ctx.getResource(<br />&#160;&#160;&#160;"/WEB-INF/liferay-layout-templates-ext.xml"))<br />&#160;};<br />&#160;LayoutTemplateLocalUtil.init(ctx, xmls)</font>
																</p>
																<p>
																		<font face="Arial">&#160;// 初始化Theme.<br />&#160;String[] xmls = new String[] {<br />&#160;&#160;Http.URLtoString(ctx.getResource(<br />&#160;&#160;&#160;"/WEB-INF/liferay-look-and-feel.xml")),<br />&#160;&#160;Http.URLtoString(ctx.getResource(<br />&#160;&#160;&#160;"/WEB-INF/liferay-look-and-feel-ext.xml"))<br />&#160;};<br />&#160;ThemeLocalUtil.init(ctx, xmls)</font>
																</p>
																<p>
																		<font face="Arial">&#160;// 检查company<br />&#160;CompanyLocalServiceUtil.checkCompany(_companyId);</font>
																</p>
																<p>
																		<font face="Arial">&#160;// 其它内容...</font>
																</p>
																<p>
																		<font face="Arial">
																				<strong>
																						<font color="#0000ff">// 响应服务</font>
																				</strong>
																				<br />portal.servlet.MainServlet.service()<br />&#160;<br />&#160;// get portalContext<br />&#160;ServletContext ctx = getServletContext();<br />&#160;ServletContext portalCtx = ctx.getContext(<br />&#160;&#160;PrefsPropsUtil.getString(_companyId, PropsUtil.PORTAL_CTX));<br />&#160;<br />&#160;// Struts module config<br />&#160;ModuleConfig moduleConfig = getModuleConfig(req);</font>
																</p>
																<p>
																		<font face="Arial">&#160;// Portlet Request Processor - 在struts.config中定义.<br />&#160;portletReqProcessor = PortletRequestProcessor.getInstance(this, moduleConfig);</font>
																</p>
																<p>
																		<font face="Arial">&#160;// 登录处理.</font>
																</p>
																<p>
																		<font face="Arial">&#160;// 处理service前置事件.<br />&#160;EventsProcessor.process(PropsUtil.getArray(PropsUtil.SERVLET_SERVICE_EVENT_PRE), req, res);</font>
																</p>
																<p>
																		<font face="Arial">&#160;// 调用Struts的service方法.<br />&#160;callParentService(req, res);</font>
																</p>
																<p>
																		<font face="Arial">&#160;// 处理Sruts后置事件.<br />&#160;EventsProcessor.process(PropsUtil.getArray(PropsUtil.SERVLET_SERVICE_EVENTS_POST), req, res);<br />&#160;<br />// struts的ActionServlet.<br />ActionServlet.process(HttpServletRequest req, HttpServletResponse res)<br />&#160;processor.process(req, res);</font>
																</p>
																<p>
																		<font face="Arial">// portal的RequestProcessor.<br />portal.struts.PortalRequestProcessor.process(HttpServletRequest req, HttpServletResponse res)<br />&#160;&#160; <br />&#160;// struts的RequestProcessor<br />&#160;RequestProcessor.process(HttpServletRequest req, HttpServletResponse res)</font>
																</p>
																<p>
																		<font face="Arial">&#160;&#160;string path = processPath(req, res)&#160; // PortalRequestProcessor重载</font>
																</p>
																<p>
																		<font face="Arial">&#160;&#160;ActionMapping mapping = processMapping(req, res, path);</font>
																</p>
																<p>
																		<font face="Arial">&#160;&#160;processRoles(req, res, mapping) // PortalRequestProcessor重载</font>
																</p>
																<p>
																		<font face="Arial">&#160;&#160;ActionForm from = processActionForm(req, res, mapping);</font>
																</p>
																<p>
																		<font face="Arial">&#160;&#160;processForward(req, res, mapping);</font>
																</p>
																<p>
																		<font face="Arial">&#160;&#160;processInclude(req, res, mapping);</font>
																</p>
																<p>
																		<font face="Arial">&#160;&#160;Action action = processActionCreate(req, res, mapping);</font>
																</p>
																<p>
																		<font face="Arial">&#160;&#160;ActionForward forward = processActionPerform(req, res, action, form, mapping);</font>
																</p>
																<p>
																		<font face="Arial">&#160;&#160;processForwardConfig(req, res, forward);&#160; // TilesRequestProcessor重载 <br />&#160;&#160;<br />&#160;// tiles的RequestProcessor<br />&#160;TilesRequestProcessor.processForwardConfig(req, res, forward)</font>
																</p>
																<p>
																		<font face="Arial">&#160;&#160;processTilesDefinition(forward.getPath(), forward.getContextRelative(), req, res);</font>
																</p>
																<p>
																		<font face="Arial">&#160;&#160;&#160;Controller.execute();&#160; // 输出/portal/layout.jsp</font>
																</p>
																<font face="Arial">
																		<p>
																				<br />
																				<font color="#0000ff">
																						<strong>/html/portal/layout.jsp&#160; - portal布局页面.</strong>
																				</font>
																				<br />&#160;<br /><liferay -util:include="" page="&lt;%= Constants.TEXT_HTML_DIR + PortalUtil.getLayoutViewPage(layout) %&gt;"></liferay>此处include在/portal-ejb/classes/portal.properties里layout.view.page定义的页面/portal/layout/view/portlet.jsp</p>
																		<p>
																				<strong>
																						<font color="#0000ff">/html/portal/layout/view/portlet.jsp&#160; - portlet布局视图页面.</font>
																				</strong>
																		</p>
																		<p>// 读取模板内容，模板由liferay-layout-templates.xml文件定义.<br />String content = LayoutTemplateLocalUtil.getContent(<br />&#160;layoutTypePortlet.getLayoutTemplateId(), false, theme.getThemeId());<br />&#160;下面是一个一列的模板:<br />&#160;＜div id="layout-content-outer-decoration"＞<br />&#160;＜div id="layout-content-inner-decoration"＞<br />&#160;&#160;＜div id="layout-content-container"＞<br />&#160;&#160;&#160;$processor.processColumn("column-1")<br />&#160;&#160;＜/div＞<br />&#160;＜/div＞<br />&#160;＜/div＞<br /><font face="Arial"><br />// 处理模板<br />portlet.layoutconfiguration.util.RuntimePortletUtil.processTemplate(<br />&#160;&#160;application, pageContext, request, response, content);</font>&#160;</p>
																		<p>
																				<font face="Arial">&#160;// 注入模板处理程序<br />&#160;TemplateProcessor processor = new TemplateProcessor(ctx, req, res, portletId);<br />&#160;VelocityContext context = new VelocityContext();<br />&#160;context.put("processor", processor);&#160; <br />&#160;// 处理模板<br />&#160;Velocity.evaluate(context, pageContext.getOut(), <br />&#160;&#160;RuntimePortletUtil.class.getName(), content);&#160;</font>
																		</p>
																</font>
														</span>
												</div>
										</td>
								</tr>
						</tbody>
				</table>
		</div><img src ="http://www.blogjava.net/rain1102/aggbug/96353.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2007-01-28 09:59 <a href="http://www.blogjava.net/rain1102/archive/2007/01/28/96353.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSR168规范中对接口、具体类的概述</title><link>http://www.blogjava.net/rain1102/archive/2007/01/26/96124.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Fri, 26 Jan 2007 05:33:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2007/01/26/96124.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/96124.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2007/01/26/96124.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/96124.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/96124.html</trackback:ping><description><![CDATA[<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 39.0pt">
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">1．<span style="FONT: 7pt 'Times New Roman'">&#160; </span></span>
				</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">GenericPortlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。为具体类，继承自</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">，提供了基本的一些功能。</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 39.0pt">
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">2．<span style="FONT: 7pt 'Times New Roman'">&#160; </span></span>
				</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。为</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">接口部分，在新编写</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">时均需要直接实现此接口或继承已实现此接口的</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">类</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">(</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">如</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">GenericPortlet)</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">，此接口控制了</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">的整个</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Lifecycle</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">，根据</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">JSR168</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">规范，将</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">的</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Lifecycle</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">划分为了三个阶段：</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">
						<br />(1) init</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。初始化此</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">，在一个</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Lifecycle</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">中</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">只可初始化一次。通过传入的</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">PortletConfig</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">可获得</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">PortletContext</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">
						<br />(2) handlerRequest</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。在此阶段规范将其分为了</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">processAction</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">以及</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">render</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">两种概念，</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">processAction</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">表示此</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">与用户的交互过程的处理；</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">render</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">则主要控制了</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">的内容的显示，用于组装</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">的</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">fragment</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">（不好翻译，</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">^_^</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">）。</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">
						<br />(3)destroy</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。结束此</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">的</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Lifecycle</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">，可在此部分进行</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">的一些资源的回收等工作。</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">
						<br />Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">容器通过</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">的一个标识符调用</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">的接口进行与</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">的交互。</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">
						<br />
				</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">接口依赖</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">PortletConfig</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">、</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">ActionRequest</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">、</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">ActionResponse</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">、</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">RenderRequest</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">、</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">RenderResponse</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">，这和</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Servlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">非常的相似。</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 39.0pt">
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">3．<span style="FONT: 7pt 'Times New Roman'">&#160; </span></span>
				</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">PortletRequest</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。此接口类似</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">HttpServletRequest</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">，通过此接口获取所有与当前</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">相关的参数、</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">的</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Mode</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">、</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">的</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">WindowState</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">、</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portal</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">的上下文环境、</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">的</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Preference</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">、</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">PortletSession</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 39.0pt">
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">4．<span style="FONT: 7pt 'Times New Roman'">&#160; </span></span>
				</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">ActionRequest</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。此接口继承自</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">PortletRequest</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">，通过此接口在</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">的</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">processAction</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">中通过</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">ActionRequest</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">可获得相关的</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">的交互式请求的参数。</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 39.0pt">
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">5．<span style="FONT: 7pt 'Times New Roman'">&#160; </span></span>
				</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">RenderRequest</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。此接口继承自</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">PortletRequest</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">，目前规范中此接口中未定义任何方法。</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 39.0pt">
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">6．<span style="FONT: 7pt 'Times New Roman'">&#160; </span></span>
				</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">PortletResponse</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。此接口类似与</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">HttpServletResponse</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">，提供页面显示</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">时的一些内容的写入。</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 39.0pt">
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">7．<span style="FONT: 7pt 'Times New Roman'">&#160; </span></span>
				</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">ActionResponse</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。此接口继承自</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">PortletResponse</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">，提供了交互相关的设置</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">PortletMode</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">以及其</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">WindowState</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">的方法。</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 39.0pt">
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">8．<span style="FONT: 7pt 'Times New Roman'">&#160; </span></span>
				</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">RenderResponse</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。此接口继承自</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">PortletResponse</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">，提供了完全类似于</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">HttpServletResponse</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">的方法，由于</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">只提供片断式的内容，和</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Servlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">提供一个完整的页面内容不同，在</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">response</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">时无法设置页面的</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">contentType</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">等相关的页面头级的东西。</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 39.0pt">
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">9．<span style="FONT: 7pt 'Times New Roman'">&#160; </span></span>
				</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">PortletConfig</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。此接口非常类似于</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">ServletConfig</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">，用于获取</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">配置文件</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">(portlet.xml)</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">中的初始参数，类似于</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">ServletConfig</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">获取</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">web.xml</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">中的初始参数，通过</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">PortletConfig</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">可获取</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">的相关上下文对象</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">PortletContext</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 27pt; TEXT-INDENT: -9pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">10．<span style="FONT: 7pt 'Times New Roman'">&#160; </span></span>
				</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">WindowState</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。此具体类用于定义</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">所支持的</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">WindowState</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 27pt; TEXT-INDENT: -9pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">11．<span style="FONT: 7pt 'Times New Roman'">&#160; </span></span>
				</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">PortletMode</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。此具体类用于定义</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">所支持的</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Mode</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">（默认提供的为</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">View</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">、</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Edit</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">、</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Help</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">）。</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">容器厂商可根据需要提供特殊的</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Mode</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 27pt; TEXT-INDENT: -9pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">12．<span style="FONT: 7pt 'Times New Roman'">&#160; </span></span>
				</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">PortalContext</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。此接口类似于</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">ServletContext</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">，用于获取</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portal</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">相关的上下文信息，如</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portal</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">的提供商信息等等。</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 27pt; TEXT-INDENT: -9pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">13．<span style="FONT: 7pt 'Times New Roman'">&#160; </span></span>
				</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">PortletPreference</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。此接口主要用于考虑</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">的个性化定制的数据的保存，此接口并不代表要替代用于保存个性化定制信息的数据库，可用于保存一些数据量不大情况下的特殊偏好。</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 27pt; TEXT-INDENT: -9pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">14．<span style="FONT: 7pt 'Times New Roman'">&#160; </span></span>
				</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">PreferenceValidator</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。此接口用于检测</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">portlet.xml</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">中的</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Preference</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">参数的合法性。</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 27pt; TEXT-INDENT: -9pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">15．<span style="FONT: 7pt 'Times New Roman'">&#160; </span></span>
				</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">PortletSession</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。此接口非常类似于</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">HttpSession</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">，用于串接</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">中的</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Session</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">数据。</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 27pt; TEXT-INDENT: -9pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">16．<span style="FONT: 7pt 'Times New Roman'">&#160; </span></span>
				</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">PortletContext</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。此接口用于获取与</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">Portlet</span>
				<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">容器相关的上下文信息。</span>
				<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<div>
				<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">&#160;&#160;&#160;&#160;&#160; 17． PortletURL</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">。此接口有点类似</span>
				<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">Jetspeed</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">中所使用的</span>
				<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">$jslink.setAction</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">以及</span>
				<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">$jslink.setPage</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">之类的方法，如果熟悉</span>
				<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">Jetspeed</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的架构的应该比较 熟悉这</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">个概念，这个主要为使得容器得以识别</span>
				<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">View</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">层和</span>
				<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">Model</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">层的交互的衔</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">接。</span>
		</div><img src ="http://www.blogjava.net/rain1102/aggbug/96124.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2007-01-26 13:33 <a href="http://www.blogjava.net/rain1102/archive/2007/01/26/96124.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>按照LiferayPortal二次开发指南做例子</title><link>http://www.blogjava.net/rain1102/archive/2007/01/25/95920.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Thu, 25 Jan 2007 06:16:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2007/01/25/95920.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/95920.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2007/01/25/95920.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/95920.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/95920.html</trackback:ping><description><![CDATA[<p>需要portal-kernel.jar和portlet.jar两个包,放入lib下。<br />package com.rain.portal;</p>
		<p>import <a title="Java爱好者" href="/rain1102">Java</a>.io.IOException;</p>
		<p>import javax.portlet.GenericPortlet;<br />import javax.portlet.PortletException;<br />import javax.portlet.RenderRequest;<br />import javax.portlet.RenderResponse;</p>
		<p>public class HelloWorldPortlet extends GenericPortlet {</p>
		<p>&#160;@Override<br />&#160;protected void doEdit(RenderRequest arg0, RenderResponse arg1) throws PortletException, IOException {<br />&#160;&#160;// TODO Auto-generated method stub<br />&#160;&#160;<font color="#006400">arg1.setContentType("text/html");<br />&#160;&#160;arg1.getWriter().println("Hello World,This is a Portlet!---doEdit");</font><br />&#160;}</p>
		<p>&#160;@Override<br />&#160;protected void doView(RenderRequest arg0, RenderResponse arg1) throws PortletException, IOException {<br />&#160;&#160;// TODO Auto-generated method stub<br />&#160;&#160;<font color="#006400">arg1.setContentType("text/html");<br />&#160;&#160;arg1.getWriter().println("Hello World,This is a Portlet!---doView");</font><br />&#160;}</p>
		<p>}<br /><br />package com.rain.portal;</p>
		<p>import <a title="Java爱好者" href="/rain1102">Java</a>.io.IOException;</p>
		<p>import javax.portlet.GenericPortlet;<br />import javax.portlet.PortletException;<br />import javax.portlet.PortletRequestDispatcher;<br />import javax.portlet.RenderRequest;<br />import javax.portlet.RenderResponse;</p>
		<p>public class HelloJSPPortlet extends GenericPortlet {</p>
		<p>&#160;@Override<br />&#160;protected void doEdit(RenderRequest arg0, RenderResponse arg1) throws PortletException, IOException {<br />&#160;&#160;// TODO Auto-generated method stub<br />&#160;&#160;<font color="#006400">arg1.setContentType("text/html");<br />&#160;&#160;String jspName=getPortletConfig().getInitParameter("edit-jsp");<br />&#160;&#160;PortletRequestDispatcher rd=getPortletContext().getRequestDispatcher(jspName);<br />&#160;&#160;rd.include(arg0, arg1);<br /></font>&#160;}</p>
		<p>&#160;@Override<br />&#160;protected void doView(RenderRequest arg0, RenderResponse arg1) throws PortletException, IOException {<br />&#160;&#160;// TODO Auto-generated method stub<br />&#160;<font color="#006400">&#160;arg1.setContentType("text/html");<br />&#160;&#160;String jspName=getPortletConfig().getInitParameter("view-jsp");<br />&#160;&#160;PortletRequestDispatcher rd=getPortletContext().getRequestDispatcher(jspName);<br />&#160;&#160;rd.include(arg0, arg1);<br /></font>&#160;}</p>
		<p>}<br /></p>
		<hr />
web.xml<br />&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />&lt;!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "<a href="http://java.sun.com/dtd/web-app_2_3.dtd">http://java.sun.com/dtd/web-app_2_3.dtd</a>"&gt;<br />&lt;web-app&gt;<br />&#160; &lt;display-name&gt;TestPortal&lt;/display-name&gt;<br />&#160; &lt;listener&gt;<br />&#160;&#160;&#160; &lt;listener-class&gt;<font color="#006400">com.liferay.portal.kernel.servlet.PortletContextListener</font>&lt;/listener-class&gt;<br />&#160; &lt;/listener&gt;<br />&#160; &lt;servlet&gt;<br />&#160;&#160;&#160; &lt;servlet-name&gt;HelloWorldPortlet&lt;/servlet-name&gt;<br />&#160;&#160;&#160; &lt;servlet-class&gt;<font color="#006400">com.liferay.portal.kernel.servlet.PortletServlet</font>&lt;/servlet-class&gt;<br />&#160;&#160;&#160; &lt;init-param&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;param-name&gt;portlet-class&lt;/param-name&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;param-value&gt;com.rain.portal.HelloWorldPortlet&lt;/param-value&gt;<br />&#160;&#160;&#160; &lt;/init-param&gt;<br />&#160;&#160;&#160; &lt;load-on-startup&gt;0&lt;/load-on-startup&gt;<br />&#160; &lt;/servlet&gt;<br />&#160;&#160; &lt;servlet&gt;<br />&#160;&#160;&#160; &lt;servlet-name&gt;HelloJSPPortlet&lt;/servlet-name&gt;<br />&#160;&#160;&#160; &lt;servlet-class&gt;<font color="#006400">com.liferay.portal.kernel.servlet.PortletServlet</font>&lt;/servlet-class&gt;<br />&#160;&#160;&#160; &lt;init-param&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;param-name&gt;portlet-class&lt;/param-name&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;param-value&gt;com.rain.portal.HelloJSPPortlet&lt;/param-value&gt;<br />&#160;&#160;&#160; &lt;/init-param&gt;<br />&#160;&#160;&#160; &lt;load-on-startup&gt;0&lt;/load-on-startup&gt;<br />&#160; &lt;/servlet&gt;<br />&#160; &lt;servlet-mapping&gt;<br />&#160;&#160;&#160; &lt;servlet-name&gt;HelloWorldPortlet&lt;/servlet-name&gt;<br />&#160;&#160;&#160; &lt;url-pattern&gt;/HelloWorldPortlet/*&lt;/url-pattern&gt;<br />&#160; &lt;/servlet-mapping&gt;<br />&#160; &lt;servlet-mapping&gt;<br />&#160;&#160;&#160; &lt;servlet-name&gt;HelloJSPPortlet&lt;/servlet-name&gt;<br />&#160;&#160;&#160; &lt;url-pattern&gt;/HelloJSPPortlet/*&lt;/url-pattern&gt;<br />&#160; &lt;/servlet-mapping&gt;<br />&#160; &lt;taglib&gt;<br />&#160;&#160;&#160; <font color="#006400">&lt;taglib-uri&gt;PortletTag&lt;/taglib-uri&gt;<br />&#160;&#160;&#160; &lt;taglib-location&gt;/WEB-INF/tld/liferay-portlet.tld&lt;/taglib-location&gt;<br /></font>&#160; &lt;/taglib&gt;<br />&lt;/web-app&gt;<br /><hr /><div><font color="#006400"><font color="#006400"><span style="COLOR: #4b4b4b"><font face="Times New Roman">portlet.xml</font></span><span style="COLOR: #4b4b4b; FONT-FAMILY: 宋体">用来定义</span><span style="COLOR: #4b4b4b"><font face="Times New Roman">Portlet</font></span><span style="COLOR: #4b4b4b; FONT-FAMILY: 宋体">的诸如部署名称、初始化参数、支持模式、</span><span style="COLOR: #4b4b4b"><font face="Times New Roman">resource bundle</font></span><span style="COLOR: #4b4b4b; FONT-FAMILY: 宋体">等普通的初始化信息，包括：</span><span style="COLOR: #4b4b4b"><font face="Times New Roman">portlet-name</font></span><span style="COLOR: #4b4b4b; FONT-FAMILY: 宋体">、</span><span style="COLOR: #4b4b4b"><font face="Times New Roman">display-name</font></span><span style="COLOR: #4b4b4b; FONT-FAMILY: 宋体">、</span><span style="COLOR: #4b4b4b"><font face="Times New Roman">portlet-class</font></span><span style="COLOR: #4b4b4b; FONT-FAMILY: 宋体">、</span><span style="COLOR: #4b4b4b"><font face="Times New Roman">init-param</font></span><span style="COLOR: #4b4b4b; FONT-FAMILY: 宋体">、</span><span style="COLOR: #4b4b4b"><font face="Times New Roman">expiration-cathe</font></span><span style="COLOR: #4b4b4b; FONT-FAMILY: 宋体">、</span><span style="COLOR: #4b4b4b"><font face="Times New Roman">supports</font></span><span style="COLOR: #4b4b4b; FONT-FAMILY: 宋体">、</span><span style="COLOR: #4b4b4b"><font face="Times New Roman">portlet-info</font></span><span style="COLOR: #4b4b4b; FONT-FAMILY: 宋体">、</span><span style="COLOR: #4b4b4b"><font face="Times New Roman">security-role-ref</font></span><span style="COLOR: #4b4b4b; FONT-FAMILY: 宋体">等等。其正式的规范请参考：</span></font><span style="COLOR: #4b4b4b"><a href="http://java.sun.com/xml/ns/Portlet/Portlet-app_1_0.xsd"><font face="Times New Roman">http://java.sun.com/xml/ns/Portlet/Portlet-app_1_0.xsd</font></a></span></font></div><br />portlet.xml<br />&lt;?xml version="1.0"?&gt;<br />&lt;portlet-app xmlns="<a href="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd</a>" version="1.0" xmlns:xsi="<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>" xsi:schemaLocation="<a href="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd</a><a href="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd</a>"&gt;<br />&#160; &lt;portlet&gt;<br />&#160;&#160;&#160; &lt;portlet-name&gt;HelloWorldPortlet&lt;/portlet-name&gt;<br />&#160;&#160;&#160; &lt;display-name&gt;HelloWorldPortlet&lt;/display-name&gt;<br />&#160;&#160;&#160; &lt;portlet-class&gt;com.rain.portal.HelloWorldPortlet&lt;/portlet-class&gt;<br />&#160;&#160;&#160; &lt;expiration-cache&gt;0&lt;/expiration-cache&gt;<br />&#160;&#160;&#160; &lt;supports&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;mime-type&gt;text/html&lt;/mime-type&gt;<br />&#160;&#160;&#160; &lt;/supports&gt;<br />&#160;&#160;&#160; &lt;supports&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;mime-type&gt;text/html&lt;/mime-type&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;portlet-mode&gt;edit&lt;/portlet-mode&gt;<br />&#160;&#160;&#160; &lt;/supports&gt;<br />&#160;&#160;&#160; &lt;portlet-info&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;title&gt;HelloWorldPortlet&lt;/title&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;short-title&gt;HelloWorldPortlet&lt;/short-title&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;keywords&gt;HelloWorldPortlet&lt;/keywords&gt;<br />&#160;&#160;&#160; &lt;/portlet-info&gt;<br />&#160;&#160;&#160; &lt;security-role-ref&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;role-name&gt;guest&lt;/role-name&gt;<br />&#160;&#160;&#160; &lt;/security-role-ref&gt;<br />&#160;&#160;&#160; &lt;security-role-ref&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;role-name&gt;power-user&lt;/role-name&gt;<br />&#160;&#160;&#160; &lt;/security-role-ref&gt;<br />&#160;&#160;&#160; &lt;security-role-ref&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;role-name&gt;user&lt;/role-name&gt;<br />&#160;&#160;&#160; &lt;/security-role-ref&gt;<br />&#160; &lt;/portlet&gt;<br />&#160; &lt;portlet&gt;<br />&#160;&#160;&#160; &lt;portlet-name&gt;HelloJSPPortlet&lt;/portlet-name&gt;<br />&#160;&#160;&#160; &lt;display-name&gt;HelloJSPPortlet&lt;/display-name&gt;<br />&#160;&#160;&#160; &lt;portlet-class&gt;com.rain.portal.HelloJSPPortlet&lt;/portlet-class&gt;<br />&#160;&#160;&#160; &lt;init-param&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;name&gt;view-jsp&lt;/name&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;value&gt;/view.jsp&lt;/value&gt;<br />&#160;&#160;&#160; &lt;/init-param&gt;<br />&#160;&#160;&#160; &lt;init-param&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;name&gt;edit-jsp&lt;/name&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;value&gt;/edit.jsp&lt;/value&gt;<br />&#160;&#160;&#160; &lt;/init-param&gt;<br />&#160;&#160;&#160; &lt;expiration-cache&gt;0&lt;/expiration-cache&gt;<br />&#160;&#160;&#160; &lt;supports&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;mime-type&gt;text/html&lt;/mime-type&gt;<br />&#160;&#160;&#160; &lt;/supports&gt;<br />&#160;&#160;&#160; &lt;supports&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;mime-type&gt;text/html&lt;/mime-type&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;portlet-mode&gt;edit&lt;/portlet-mode&gt;<br />&#160;&#160;&#160; &lt;/supports&gt;<br />&#160;&#160;&#160; &lt;portlet-info&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;title&gt;HelloJSPPortlet&lt;/title&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;short-title&gt;HelloJSPPortlet&lt;/short-title&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;keywords&gt;HelloJSPPortlet&lt;/keywords&gt;<br />&#160;&#160;&#160; &lt;/portlet-info&gt;<br />&#160;&#160;&#160; &lt;security-role-ref&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;role-name&gt;guest&lt;/role-name&gt;<br />&#160;&#160;&#160; &lt;/security-role-ref&gt;<br />&#160;&#160;&#160; &lt;security-role-ref&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;role-name&gt;power-user&lt;/role-name&gt;<br />&#160;&#160;&#160; &lt;/security-role-ref&gt;<br />&#160;&#160;&#160; &lt;security-role-ref&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;role-name&gt;user&lt;/role-name&gt;<br />&#160;&#160;&#160; &lt;/security-role-ref&gt;<br />&#160; &lt;/portlet&gt;<br />&lt;/portlet-app&gt;<br /><hr /><div><span style="COLOR: #4b4b4b; FONT-FAMILY: 宋体">定义</span><span style="COLOR: #4b4b4b"><font face="Times New Roman">Portlet</font></span><span style="COLOR: #4b4b4b; FONT-FAMILY: 宋体">默认可用的用户组、默认模板、是否支持多个实例等，规范由</span><span style="COLOR: #4b4b4b"><a href="http://www.liferay.com/dtd/liferay-Portlet-app_3_5_0.dtd"><font face="Times New Roman">http://www.liferay.com/dtd/liferay-Portlet-app_3_5_0.dtd</font></a></span></div><br />liferay-portlet.xml<br />&lt;?xml version="1.0"?&gt;<br />&lt;!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application 4.2.0//EN" "<a href="http://www.liferay.com/dtd/liferay-portlet-app_4_2_0.dtd">http://www.liferay.com/dtd/liferay-portlet-app_4_2_0.dtd</a>"&gt;<br />&lt;liferay-portlet-app&gt;<br />&#160; &lt;portlet&gt;<br />&#160;&#160;&#160; &lt;portlet-name&gt;HelloWorldPortlet&lt;/portlet-name&gt;<br />&#160;&#160;&#160; &lt;struts-path&gt;HelloWorldPortlet&lt;/struts-path&gt;<br />&#160;&#160;&#160; &lt;use-default-template&gt;true&lt;/use-default-template&gt;<br />&#160;&#160;&#160; &lt;instanceable&gt;true&lt;/instanceable&gt;<br />&#160; &lt;/portlet&gt;<br />&#160; &lt;portlet&gt;<br />&#160;&#160;&#160; &lt;portlet-name&gt;HelloJSPPortlet&lt;/portlet-name&gt;<br />&#160;&#160;&#160; &lt;struts-path&gt;HelloJSPPortlet&lt;/struts-path&gt;<br />&#160;&#160;&#160; &lt;use-default-template&gt;true&lt;/use-default-template&gt;<br />&#160;&#160;&#160; &lt;instanceable&gt;true&lt;/instanceable&gt;<br />&#160; &lt;/portlet&gt;<br />&#160; &lt;role-mapper&gt;&#160; <br />&#160;&#160;&#160; &lt;role-name&gt;administrator&lt;/role-name&gt;<br />&#160;&#160;&#160; &lt;role-link&gt;Administrator&lt;/role-link&gt;<br />&#160; &lt;/role-mapper&gt;<br />&#160; &lt;role-mapper&gt;<br />&#160;&#160;&#160; &lt;role-name&gt;guest&lt;/role-name&gt;<br />&#160;&#160;&#160; &lt;role-link&gt;Guest&lt;/role-link&gt;<br />&#160; &lt;/role-mapper&gt;<br />&#160; &lt;role-mapper&gt;<br />&#160;&#160;&#160; &lt;role-name&gt;power-user&lt;/role-name&gt;<br />&#160;&#160;&#160; &lt;role-link&gt;Power User&lt;/role-link&gt;<br />&#160; &lt;/role-mapper&gt;<br />&#160; &lt;role-mapper&gt;<br />&#160;&#160;&#160; &lt;role-name&gt;user&lt;/role-name&gt;<br />&#160;&#160;&#160; &lt;role-link&gt;User&lt;/role-link&gt;<br />&#160; &lt;/role-mapper&gt;<br />&lt;/liferay-portlet-app&gt;<br /><hr /><div><span style="COLOR: #4b4b4b; FONT-FAMILY: 宋体">定义</span><span style="COLOR: #4b4b4b"><font face="Times New Roman">Portlet</font></span><span style="COLOR: #4b4b4b; FONT-FAMILY: 宋体">默认的所属类别。</span><span style="COLOR: #4b4b4b"><font face="Times New Roman">Liferay Portal</font></span><span style="COLOR: #4b4b4b; FONT-FAMILY: 宋体">对</span><span style="COLOR: #4b4b4b"><font face="Times New Roman">Portlet</font></span><span style="COLOR: #4b4b4b; FONT-FAMILY: 宋体">实行按类别管理和划分用户权限。</span></div><br />liferay-display.xml<br />&lt;?xml version="1.0"?&gt;<br />&lt;!DOCTYPE display PUBLIC "-//Liferay//DTD Display 4.0.0//EN" "<a href="http://www.liferay.com/dtd/liferay-display_4_0_0.dtd">http://www.liferay.com/dtd/liferay-display_4_0_0.dtd</a>"&gt;<br />&lt;display&gt;<br />&#160; &lt;category name="category.test"&gt;<br />&#160;&#160;&#160; &lt;portlet id="HelloWorldPortlet"/&gt;<br />&#160;&#160;&#160; &lt;portlet id="HelloJSPPortlet"/&gt;<br />&#160; &lt;/category&gt;<br />&lt;/display&gt;<br /><hr />
view.jsp<br />&lt;table cellpadding="8" cellspacing="0" width="100%"&gt;<br />&#160; &lt;tr&gt;<br />&#160;&#160;&#160; &lt;td&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;font class="Portlet-font" style="font-size:x-small;"&gt;<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; This is a &lt;b&gt;Sample JSP Portlet&lt;/b&gt; used in viewing model. Use this as a quick way to include JSPs.<br />&#160;&#160;&#160;&#160;&#160; &lt;/font&gt;<br />&#160;&#160;&#160; &lt;/td&gt;<br />&#160; &lt;/tr&gt;<br />&lt;/table&gt;<br /><br />edit.jsp<br />&lt;table cellpadding="8" cellspacing="0" width="100%"&gt;<br />&#160; &lt;tr&gt;<br />&#160;&#160;&#160; &lt;td&gt;<br />&#160;&#160;&#160;&#160;&#160; &lt;font class="Portlet-font" style="font-size:x-small;"&gt;<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; This is a &lt;b&gt;Sample JSP Portlet&lt;/b&gt; used in editing model. Use this as a quick way to include JSPs.<br />&#160;&#160;&#160;&#160;&#160; &lt;/font&gt;<br />&#160;&#160;&#160; &lt;/td&gt;<br />&#160; &lt;/tr&gt;<br />&lt;/table&gt;<br /><img src ="http://www.blogjava.net/rain1102/aggbug/95920.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2007-01-25 14:16 <a href="http://www.blogjava.net/rain1102/archive/2007/01/25/95920.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>玩liferay开心的一天</title><link>http://www.blogjava.net/rain1102/archive/2007/01/25/95881.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Thu, 25 Jan 2007 03:41:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2007/01/25/95881.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/95881.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2007/01/25/95881.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/95881.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/95881.html</trackback:ping><description><![CDATA[<p>昨天看了Liferay Portal二次开发指南，并按照里面的例子进行了开发。但由于初次接触Portal，更是初次接触Liferay ，所以也不知道怎么去看他。今天早上到了Liferay 的中文站看到需要部署，所以就小试了一下，竟然可以了！好开心！<br />让人生气的是，好不容易用MSN加了一个会这玩意的兄弟，昨天就问他了，他说很忙，所以就没好意思打扰了，今天早上又来问他，竟然还说忙，其实就告诉我一下需要到里面部署，然后怎么看不就可以了吗！哎``心都凉了！<br />但总的来说，还是满开心的。因为终于看到一天的成果了！<br />登录进去---&gt;管理----&gt;自动部署<br />然后添加内容----&gt;测试里面就有部署的东东了！</p><img src ="http://www.blogjava.net/rain1102/aggbug/95881.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2007-01-25 11:41 <a href="http://www.blogjava.net/rain1102/archive/2007/01/25/95881.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Portal中的重要基类GenericPortlet</title><link>http://www.blogjava.net/rain1102/archive/2007/01/24/95687.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Wed, 24 Jan 2007 03:02:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2007/01/24/95687.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/95687.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2007/01/24/95687.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/95687.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/95687.html</trackback:ping><description><![CDATA[<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">像</span>
				<span lang="EN-US">Servlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一样，编写的</span>
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">也必须直接或者间接的扩展基类</span>
				<span lang="EN-US">GenericPortlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，这个是由</span>
				<span lang="EN-US">JCP</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">针对</span>
				<span lang="EN-US">Portal</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">提出的</span>
				<span lang="EN-US">JSR168</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">规范定义的。只要扩展自规范的</span>
				<span lang="EN-US">GenericPortlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，所有的</span>
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">都可以在支持</span>
				<span lang="EN-US">JSR168</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">规范的</span>
				<span lang="EN-US">Portal</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">服务器上运行。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US">GenericPortlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">统一定义了可供</span>
				<span lang="EN-US">Portal</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">容器识别和调用的方法，包括：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US">public Init()</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：初始化；</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US">public Init(PortletConfig) </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：初始化；</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US">public getInitParameter(String)</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：取得在</span>
				<span lang="EN-US">Portlet.xml</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中定义的初始化参数；</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US">public getInitParameterNames()</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：取得在</span>
				<span lang="EN-US">Portlet.xml</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中定义的全部初始化参数；</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US">public getPortletConfig()</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：取得包含初始化参数的配置对象</span>
				<span lang="EN-US">PortletConfig</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">实例；</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US">public getPortletContext()</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：取得</span>
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">上下文；</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US">public getPortletName()</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：取得在</span>
				<span lang="EN-US">Portlet.xml</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中定义的</span>
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">名称。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US">public getResourceBundle(Locale) </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：取得</span>
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">国际化的</span>
				<span lang="EN-US">Resource Bundle</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">；</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US">protected getTitle(RenderRequest) </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：取得</span>
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的标题；</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US">protected doView(RenderRequest</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
				<span lang="EN-US">RenderResponse) </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</span>
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">浏览模式的处理方法；</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US">protected doEdit(RenderRequest</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
				<span lang="EN-US">RenderResponse) </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</span>
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编辑模式的处理方法；</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US">protected doHelp(RenderRequest</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
				<span lang="EN-US">RenderResponse) </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</span>
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">帮助模式的处理方法；</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US">protected doDispatch(RenderRequest</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
				<span lang="EN-US">RenderResponse) </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</span>
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">行为分发；</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US">protected processAction(ActionRequest</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
				<span lang="EN-US">ActionResponse) </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</span>
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">处理</span>
				<span lang="EN-US">Action Request</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的方法；</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US">protected render(RenderRequest</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
				<span lang="EN-US">RenderResponse)</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</span>
				<span lang="EN-US">Portal</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">处理</span>
				<span lang="EN-US">Render Request</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的方法；</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US">public destroy()</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</span>
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">销毁，终止其生命周期。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</span>
				<span lang="EN-US">Portlet Portal</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">运行的时候，</span>
				<span lang="EN-US">doView</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span>
				<span lang="EN-US">doEdit</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span>
				<span lang="EN-US">doHelp</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">三个方法分别被调用，用以生成</span>
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">标记。同样也可以调用</span>
				<span lang="EN-US">Servlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">生成</span>
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">标记，或者不调用</span>
				<span lang="EN-US">JSP</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或者</span>
				<span lang="EN-US">Servlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，直接在方法中得到</span>
				<span lang="EN-US">PrintWriter</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">然后用最简单的</span>
				<span lang="EN-US">pw.println()</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">打印出内容。这个过程类似</span>
				<span lang="EN-US">Servlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，如下：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US">PrintWriter pw = renderResponse.getWriter();</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US">pw.println(&#8220;Hello</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
				<span lang="EN-US">world!&#8221;);</span>
		</p>
		<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">与</span>
		<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">Servlet</span>
		<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">类似，可以使用</span>
		<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">getInitParamter(String s)</span>
		<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">得到配置文件中</span>
		<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">Portlet</span>
		<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的初始值，只不过</span>
		<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">Servlet</span>
		<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">在</span>
		<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">web.xml</span>
		<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">中，而</span>
		<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">Portlet</span>
		<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">在</span>
		<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">portlet.xml</span>
		<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">中。<br /><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman">portlet.xml</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman"><init-param></init-param></font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160;&#160; &lt;init-param&gt;<br /></span><name>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;name&gt;jspView&lt;/name&gt;</name></font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;value&gt;&#160;</span><value>/jsp/view.jsp&lt;/value&gt;<br />&#160;&#160;&#160;&#160;&#160;&#160; &lt;/init-param&gt;<br /></value></font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><font face="Times New Roman"><br /></font></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">针对如上</span><span lang="EN-US">portlet.xml</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的初始化信息，可以采用如下的调用方式：<br /></span></p></span>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">SimplePortlet.java</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">String jspName = getPortletConfig().getInitParameter("jspView");<br /></span>
		</p><img src ="http://www.blogjava.net/rain1102/aggbug/95687.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2007-01-24 11:02 <a href="http://www.blogjava.net/rain1102/archive/2007/01/24/95687.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【JetSpeed】简介</title><link>http://www.blogjava.net/rain1102/archive/2007/01/23/95491.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Tue, 23 Jan 2007 03:21:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2007/01/23/95491.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/95491.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2007/01/23/95491.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/95491.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/95491.html</trackback:ping><description><![CDATA[<span class="style7">
				<font face="宋体" size="2">Jetspeed是一个开放源代码的企业信息门户(EIP)的实现, 使用的技术是Java和XML. 用户可以使用浏览器, 支持WAP协议的手机或者其它的设备访问Jetspeed架设的信息门户获取信息. Jetspeed扮演着信息集中器的角色, 它能够把信息集中起来并且很容易地提供给用户. <br />Jetspeed具有如下的特征: <br /><br />* 即将成为标准化的Java Portlet API <br />* 基于模板的布局, 包括JSP和Velocity <br />* 通过开放的内容同步技术支持远程XML内容交换 <br />* 定制默认的主页 <br />* 使用数据库进行用户认证 <br />* 内存缓存技术, 加快页面的响应 <br />* 通过Rich Site Summary技术, 支持同步内容 <br />* 和Cocoon, WebMacro, Velocity集成. <br />* Wireless Markup Language (WML) 支持 <br />* 使用XML格式的配置文件注册portlet. <br />* 完整的Web Application Archive (WAR) 支持 <br />* Web应用程序开发的基础设施 <br />* 可以在本地缓存远程内容 <br />* 与Avantgo同步 <br />* 可移植到所有支持JDK1.2和Servlet 2.2的平台 <br />* 与Turbine模块和服务集成 <br />* 可以根据用户, 安装媒体类型和语言的不同设定, 产生不同的个性化服务 <br />* 持续化服务使得所由的portlet能够容易的存储每个用户的状态, 页面和portlet <br />* 使用皮肤技术使得用户可以选择portlet的颜色和显示属性 <br />* 自定义功能是的管理员可以选择portlet以及定义个人页面的布局 <br />* 在数据库中存储PSML <br />* 通过Jetspeed的安全portlets管理用户, 组,角色和权限 <br />* 基于角色对访问portlet进行控制 </font>
		</span><img src ="http://www.blogjava.net/rain1102/aggbug/95491.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2007-01-23 11:21 <a href="http://www.blogjava.net/rain1102/archive/2007/01/23/95491.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSR#168 Portlet 说明</title><link>http://www.blogjava.net/rain1102/archive/2007/01/23/95475.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Tue, 23 Jan 2007 02:40:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2007/01/23/95475.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/95475.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2007/01/23/95475.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/95475.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/95475.html</trackback:ping><description><![CDATA[<h3>1 序言</h3>
		<p>许多大型企业的网站, 渐渐采用了 portal server 作为开发的基础. 至于什么是 portal 呢, 中文翻译为 "门户网站"。 有人可能想.. 天杀的.. 门户网站不是就像 yahoo, pchome, yam 等等。不过, 我们现在讨论的 portal server, 不是那么地简单, 基本上 yahoo, pchome, yam 那些只能称为搜索引擎的门户网站。 </p>
		<p>如果你从来沒有用过 portal server 或是似懂非懂.. 大家可以连结到 <a href="http://www.mynetscape.com/"><font color="#000080">MyNetscape</font></a> 或 <a href="http://my.yahoo.com/"><font color="#000080">MyYahoo</font></a> 去 注册一个帐号。因为 MyNetscape 的样式比较好看, 所以我接下来就以 MyNetscape 为介绍的范例。 </p>
		<p>如果你第一次接触到 portal，你会惊讶的发现... 哇.. 为何一个网站里面充满了这么多小窗口. 我们称这些小窗口叫做 "portlet"，而且每个小窗口都存在着独立的信息与内容，可以放到最大化，缩小，还原，关闭等等。当你登陆之后，可以选择及调整自己 portlet 的配置，也可以设置自己喜爱的风格与样式，更可以设置每个 portlet 的资料配置。这种以客户为上帝的系统，就是我们将要介绍的 portal。 </p>
		<h3>2 Portal 的组成</h3>
		<p>Portal 的组成可以分为三部份 (1) Portal Server (2) Portlet Container (3) Portlet </p>
		<h5>1) Portal Server 的定义是</h5>一个 Portal（门户网站）就是指一个 Web-based 的系统，通常都会提供个人化设置、单一登陆、以及由各种不同来源或不同网站取得各式各样的信息，并且将这些信息放在网页之中组合而成的呈现平台，门户网站会有精巧的个人化设置去提供定制的网页，当不同等级的使用者来浏览该页面将获得不同的信息内容。 
<h5>2) Portlet Container 的定义是</h5>portlet container 是提供 portlets 执行的环境，包含了许多 portlets 并且管理他们的生命周期，他也会永远保存着 portlets 的喜好设置，一个 portlet container 接收到来自 portal 的请求后，接着将这个请求传递给存在 container 的 portlet 执行。portlet container 没有义务去组合 portlets 产生的信息內容，这个工作必须由 portal 来处理。portal 和 portlet container 可以放在一起视为同一个系统的组件，或者分开成为两个独立的组件。 
<h5>3) Portlet 的定义是</h5>一个 Portlet 是以 <a title="Java爱好者" href="/rain1102">Java</a> 技术为技术的 Web 组件，由 Portlet Container 所管理，专门处理客户的 request 以及产生各种动态的信息内容。Portlets 为可插式 ( pluggable ) 的客户界面组件，提供呈现层成为一个信息系统。这些由 portlet 产生的内容也被称为片段 (fragment)，而片段是具有一些规则的Markup( HTML、XHTML、WML )，而且可以和其他的片段组合而成一个复杂的文件。而 Portlet 中的内容正常来说是与其他 Portlet 的内容聚合而成为一个 Portal 网页。而 Portlet 的生命周期是被 Portlet Container 所管理控制的。客户端和 portlets 的互动是由 portal 通过典型的 request/response 方式实现，正常来说，客户会和 portlets 所产生的内容互动，举例来说，根据下一步的连接或者是确认送出的表单，结果 portal 将会接收到 portlet 的动作，将这个处理状况转向到目标 portlet。这些 portlet 内容的产生可能会因为不同的使用者而有不同的变化，完全是根据客户对于这个 portlet 的设置。 
<h3>3 portlet 与 servlet 的关系</h3>Portlet 和 Servlet 算是兄弟有那么一点点相似却又有那么一点点不同，因为 Servlet 和 Portlet 不尽然相同，所以研究小組決定将 portlets 定义成为一个新的组件，因此定义了 portlets 一个新的并且明确的界面与行为。为了尽可能与现有的 servlet 结合达到重复使用的目的，portlet 的规范利用了 servlet 的规范，许多观念都很相似的，结合 portlets、servlets 及 jsp 在同一个网站系统中，我们称为 portlet application 。在同一个 portlet application 中，他们将分享同一个 classloader，context 及 session。<br />抽象类portlet是Portlet API的核心。 Portlet类扩展了Servelt API的HTTPServlet。所有的Portlet 都从HTTPServlet继承而来，间接地扩展了Portlet类，如下所示：<pre>... +--javax.servlet.http.HttpServlet | +--org.apache.jetspeed.portlet.Portlet | +--org.apache.jetspeed.portlet.PortletAdapter | +--com.myCompany.myApplication.myPortlet </pre><p>因此，Portlet是一类特殊的Servlet，能方便的插入Portal Server，并在其上运行。与 servlet 不同，portlet 无法直接发送重定向或错误信息到浏览器，以及转发请求或者写专用标记到输出流。</p><p>与 servlet 相比，Portlet有更强的动态性，可在不重新启动 Portal Server 的情况下进行更新：</p><ul class="n01"><li>可以使用门户网站管理界面安装和除去portlet 应用程序 
</li><li>portlet 的设置可由拥有适当访问权的管理员进行更改 
</li><li>可以使用管理 portlet 动态创建和删除 portlet </li></ul><p>Portlet容器依赖于J2EE体系结构。Portlet 被打包成类似于J2EE Web应用的WAR文件，并按类似于 servlet 的方式部署。与其它 servlet 相似，使用 servlet 部署描述符（web.xml）把 portlet 定义到应用程序服务器，这个文件定义 portlet 的类文件和只读初始化参数。除此之外，portlet还必须提供一个portlet的部署描述符（portlet.xml）来把portlet定义到portal server</p><h5>1) Portlet 和 Servlet 的相似之处</h5>@ portlets 也是 <a title="Java爱好者" href="/rain1102">Java</a> 技术的 web 组件<br />@ portlets 也是有特定的 container 在管理<br />@ portlets 可以动态产生各种内容<br />@ portlets 的生命周期由 container 所管理<br />@ portlets 和客户端的互动是通过 request/response 的机制 
<h5>2) Portlet 和 Servlet 也有一些不同</h5>@ portlets 只产生 markup 信息片段，不是完整的网页文件。而 Portal 会将所有的 Portlet markup 信息片 段放到一个完整的 Portal 网页。<br />@ portlets 不会和 URL 有直接的关系<br />@ 客户端必须通过 portal 系统才能和 portlets 互动<br />@ portlets 有一些定义好的 request 处理，action request 以及 render request。<br />@ portlets 默认定义 portlet modes 及窗口状态可以指出在网页中该 portlet 的哪个功能正在执行及现在的 状态。<br />@ portlets 可以在同一个 portal 网页之中存在多个。 
<h5>3) Portlet 有一些附加的功能是 Servlet 所没有的</h5>@ Portlets 能够存取及储存永久配置文件及定制资料。<br />@ portlets 可以存取使用者数据<br />@ portlets 具有 URL 的重写功能在文件中去动态建立连结，允许 portal server 不用去知道如何在网页的片 段之中建立连结及动作。<br />@ portlets 可以储存临时性的数据在 portlet session 之中，拥有两个不同的范围 ：<br />application-wide scope 及 portlet private scope 。 
<h5>4) Portlet 不具有一些功能， 但是 Servlet 却有提供</h5>@ servlet 具有设置輸出的文字编码( character set encoding)方式<br />@ servlet 可以设置 HTTP 输出的 header<br />@ servlet 才能夠接收客户对于 portal 发出的 URL 请求 
<h3>4 RI - pluto 冥王星计划</h3><p>JSR 是由 JCP ( www.jcp.org ) 这个 <a title="Java爱好者" href="/rain1102">Java</a> 组织所定义出来的规范。几乎每个 JSR 都会产出 TCK* 及 RI** </p><p>*TCK ( Technology Compatibility Kit ) 兼容性测试组件<br />*RI ( Reference Implementation ) 实现参考 </p><p>2003/10/27 JSR#168 Portlet Spec 1.0 已经正式公布。以后, 大家就可以开始根据这个规范开发兼容性的产品。而这个标准规范书的 RI 就是采用 <a href="http://jakarta.apache.org/pluto/"><font color="#000080">Apache Jakarta Pluto</font></a> 冥王星计划。至于为何叫做冥王星,我猜是 Sun 想要把光芒射到冥王星都会发光吧 :P </p><p>目前 pluto 尚未有正式的版本释放, 将来有兴趣的人可以从 jakarta 网站下载。不过目前我由 CVS 取得版本已经可以正常运行了。安装的方法十分简单.. 只需要执行 %pluto%/bin/install 就可以安装了，安装过程会询问你 tomcat 的目录，假设你 tomcat 根目录是 c:\tomcat4.1.27 ，你输入 c:\tomcat4.1.27 就可以了。 </p><p>接着 http://localhost:8080/pluto/portal 就可以看到很漂亮的 portal 界面，至于操作模式与方法非常简单，请多加操控就可以慢慢了解 portlet 的控制方法了。 </p><p>在 portlet spec 中定义的控制有分为 <br />1) 基本的 Portlet Modes<br />VIEW - 你没有做任何动作仅仅做内容显示<br />EDIT - 编辑相关的设置<br />HELP - 寻求帮助 </p><p>2) 基本的 Window States<br />NORMAL - 还原 portlet 窗口<br />MAXIMIZED - 最大化 portlet 窗口<br />MINMIZED - 最小化 portlet 窗口<br /></p><p>其实, 这些动作都已经由 portal 所实现，portlet container 将接收与回应相关的动作。真正在程序开发上并不会考虑到这些细节，除非你要做一個 portlet container。而开发上要考虑的是什么人能夠做什么事情。例如说尚未登陆的人应该只能夠 doView / doHelp，而不能夠 doEdit 这种权限管控机制的开发。 </p><h3>5 css 定义</h3>每个通过认证的使用者，就可以使用相关的 portlet 外观 ( Look&amp;Feel )设置，而这些设置就是通过 css 来 编辑。在没有 portlet spec 之前，各家厂商都自行规定或由 ISV 各自完成，造成了許多 portlet 无法共用同一份 CSS 来实现，移植上将会有许多问题发生。 
<p>因此 css 的定义对于具有定制功能的 portal 是相当重要的。 </p><p>0) Anchor<br /><a ...="">这个并没有定义 :P 
<p>1) Fonts ( font )<br />portlet-font <br />portlet-font-dim <br /></p><p>2) Message ( paragraph .. )<br />portlet-msg-status<br />portlet-msg-info<br />portlet-msg-error<br />portlet-msg-alert<br />portlet-msg-success<br /></p><p>3) Sections ( table, div, span ... )<br />portlet-section-header<br />portlet-section-body<br />portlet-section-alternate<br />portlet-section-selected<br />portlet-section-subheader<br />portlet-section-footer<br />portlet-section-text<br /></p><p>4) Forms ( form )<br />portlet-form-label<br />portlet-form-input-field<br />portlet-form-button<br />portlet-icon-label<br />portlet-dlg-icon-label<br />portlet-form-field-label<br />portlet-form-field<br /></p><p>5) menus ( popup menu )<br />portlet-menu<br />portlet-menu-item<br />portlet-menu-item-selected<br />portlet-menu-item-hover<br />portlet-menu-item-hover-selected<br />portlet-menu-cascade-item<br />portlet-menu-cascade-item-selected<br />portlet-menu-description<br />portlet-menu-caption <br /></p><p>基本上, 你要了解什么地方该用什么 css，这些 css 名称套用在你开发的 portlet 之中，你就可以移植到其他支持 jsr#168 的系统，不需要在花时间去更改成为他们的 Look&amp;Feel。 </p><h3>6 信息片段 ( fragment markup ) 的限制</h3>每个 portlet 输出都是一个信息片段，之前有提到, 这些 markup 有些限制。 
<p>如果你是生成 HTML 格式的信息片段，就*不可以*拥有以下这些 tag ：<br />base, body, iframe, frame, frameset, head, html, 及 title </p><p>如果生成是 XHTML 或 XHTML-basic 格式的信息片段，就*不可以*拥有以下这些 tag ：<br />base, body, iframe, head, html 及 title </p><h3>7 其他细节</h3>最后, portlet 需要考虑的还有 security, caching, taglib 等等.. 
<p>Portal 是连结后端 EAI 处理的信息整合平台，提供了企业完整的解决方案，提供了单一登陆的机制，贴心的个人化页面设置，更可以提供各式各样平台如 pda, 手机等等的统一窗口。因此, 政府与大企业都 *应该* 采用这种解决方案，通过 Webservice 达成信息流/金流/物流 的效果.... </p></a></p><p></p><img src ="http://www.blogjava.net/rain1102/aggbug/95475.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2007-01-23 10:40 <a href="http://www.blogjava.net/rain1102/archive/2007/01/23/95475.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>几种开源Portal的简单介绍分析 </title><link>http://www.blogjava.net/rain1102/archive/2007/01/23/95465.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Tue, 23 Jan 2007 01:58:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2007/01/23/95465.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/95465.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2007/01/23/95465.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/95465.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/95465.html</trackback:ping><description><![CDATA[<table cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td>
										<p>
												<font size="2">主要包括：Pluto，Liferay，eXo,Jetspeed四种开源Portal的介绍和分析，有助于对具体项目选择合适的开发平台。 </font>
										</p>
										<p>
												<font size="2">（1）<font color="#421ae6">Pluto</font><br /></font>
												<font size="2">2003年10月JSR168规范1.0正式公布后，Jakarta Apache就开始实施Pluto计划（冥王星计划），最终开发出该规范的一个参考实现（Reference Implementation），即Pluto。Pluto的1.0.1-rc2版与2004年12月发布。<br />Pluto实现基于 JSR168的一个 Portlet Container，相当于为开发者提供了一个运行portlets的工作平台。Pluto本身也提供了一个简单的Portal模块，该模块仅仅是为了满足Portlet容器和JSR 168的需要而写的，因而显得非常简单，提供的实用的Portlet也非常少。从某种意义上说Pluto更像是一个Portlet Container，作为一个实用的Portal开发框架尚需要更强大的支持。但新版本的Pluto仍没有推出。对于Pluto的应用开发，Apache更推荐使用Jetspeed项目框架。<br />尽管Pluto作为一个完整的Portal应用还非常欠缺。但不少有影响力的Portal项目使用Pluto作为Portlet Container。这些项目包括：Jetspeed 、Cocoon uPortal 、Jahia等。由此可见Pluto的重要性。从开发者和学习者的角度看，Pluto的意义还在于为开发者和学习者提供了一个深入了解Portlet Container的简洁的参考实例。 </font>
										</p>
										<p>
												<font size="2">（2）<font color="#421ae6">Liferay</font><br /></font>
												<font size="2">Liferay（支持JSR168）代表了完整的J2EE应用 ，最高版本是2005年1月推出的Professional 3.2.0。它的主要优点有：<br />&#160;&#160;&#160;&#160;&#160; （1）使用第三放的开源项目，如Hibernate等。特别是前台界面部分使用了Struts技术；<br />&#160;&#160;&#160;&#160;&#160; （2）支持包括中文在内的多种语言；<br />&#160;&#160;&#160;&#160;&#160; （3）支持较多的先进技术，如Web Services、EJB, JMS, SOAP, XML等；<br />Liferay的缺点是它缺乏一个简单清晰可拓展的架构设计，整个架构比较复杂且庞大；Struts1.1本身并不支持JSR168，所以Liferay在实现诸如上下文共享等问题上显得十分笨重且没有从根本上解决这些问题；portlet设计也显得比较凌乱。此外，如果你的门户系统准备应用于商业用途，你需要购买License。基于它进行二次开发比较困难。<br /></font>
										</p>
										<p>
												<font size="2">（3）<font color="#421ae6">eXo</font><br /></font>
												<font size="2">eXo(支持JSR168)基于JSF的Portal实现。最新版本是2004年10月发布的1.0RC1版。<br />主要优点包括：<br />（1）&#160;由AOP（AspectJ）实现的内容管理系统，极大提高了内容管理性能；<br />（2）&#160;基于Pico Container的Portlet Container，Pico是一个著名的IoC3轻量级容器。同时也实现了上下文共享，二次开发的流程比较清晰；<br />（3）&#160;使用Struts框架技术；<br />（4）&#160;提供工作流技术服务（Workflow service）。<br />（5）&#160;提供了很多交流工具，通过XML可以为结构化的信息轻易地创建视图；<br />&#160;&#160;&#160;&#160; 由上可见eXo采用了诸多先进技术，但存在不少缺点。主要缺点：由于Portal Server本身的数据是使用xmldb来进行处理，保存到数据库的数据都是乱码而且它所有默认的平台字符集都是ISO-8859_1。缺乏中文的充分支持，对于中文门户的开发并没有优势；由于JSF是重量级的表现层框架，使得exo的二次开发工作量比较大；对于商业Portal应用开发需要购买License。总体开发难度较大。 </font>
										</p>
										<p>
												<font size="2">(4) <font color="#421ae6">JetSpeed</font></font>
												<br />
												<font size="2">JetSpeed是Apache组织的开源Portal项目。Jetspeed 目前有两个版本可供选择1.X和2.0版本。Jetspeed1.X出现得比较早，但第一个较为成熟的版本发布是1.4。此后1.X不断推出新版本。但Jetspeed1.X都不支持JSR168。当JSR168在2003年发布后，Apche开始开发Jetspeed2，提供对JSR168 的全面支持。 <br />下表是Jetspeed重要版本的发布日期：<br />Jetspeed的重要版本&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 发布日期<br />Jetspeed-1.4b2&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 2002年12月<br />Jetspeed-1.5&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 2004年4月<br />Jetspeed-2.0-M1&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 2004年12月<br />Jetspeed-2.0-M2&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 2005年4月<br />Jetspeed1.X基于Turbine框架开发，它提供了丰富的Portal技术功能。主要优点有：XML文件注册Portlet，便于管理；图形化的部署和卸载；对中文的良好支持等。值得注意的是IBM早期的WebSphere Portal Server就是在JetSpeed1.X上进行二次开发的。Jetspeed2.0在1.X基础上进行了较大的改动，功能更加丰富，完全遵循JSR标准。 </font>
										</p>
								</td>
						</tr>
				</tbody>
		</table>
		<p>
				<font size="2">配置方法，不同的版本的配置可能有变化，如不成功，可以自行察看文档。 </font>
				<br />
				<font size="2">Pulto在Tomcat下的安装配置方法：<br />（1）&#160;从 </font>
				<a href="http://portals.apache.org/pluto/mirrors.cgi">
						<font color="#0000ff">
						</font>
						<font size="2">
								<font color="#000080">下载最新的二进制版本安装文件</font>
						</font>
				</a>
				<br />
				<font size="2">（2）&#160;执行%pluto%/bin/install，将它安装到Tomcat目录下即可<br />（3）&#160;在浏览器中输入：</font>
				<a href="http://localhost:8080/pluto/portal">
						<font color="#000080" size="2">，运行Pluto</font>
				</a>
				<a href="http://localhost:8080/pluto/portal" target="_blank">
						<font color="#000080" size="2">http://localhost:8080/pluto/portal</font>
				</a>
				<a href="http://portals.apache.org/pluto/mirrors.cgi" target="_blank">
						<font color="#000080" size="2">http://portals.apache.org/pluto/mirrors.cgi</font>
				</a>
		</p>
		<p>
				<font size="2">Liferay Professional在Tomcat下的安装配置方法：<br />（1）&#160;从 </font>
				<a href="http://www.liferay.com/downloads/index.jsp">
						<font color="#0000ff">
						</font>
						<font size="2">
								<font color="#000080">下载Liferay Professional安装文件</font>
						</font>
				</a>
				<font size="2">；<br />（2）&#160;解压ZIP包到某个目录下<br />（3）&#160;若下载Tomcat版本的Liferay安装文件，则不需再装Tomcat，直接启动bin目录下的startup.bat文件。<br />（4）&#160;在浏览器中输入</font>
				<a href="http://localhost/">
						<font color="#000080" size="2">运行Liferay Professional。</font>
				</a>
				<a href="http://localhost/" target="_blank">
						<font color="#000080" size="2">http://localhost/</font>
				</a>
				<a href="http://www.liferay.com/downloads/index.jsp" target="_blank">
						<font color="#000080" size="2">http://www.liferay.com/downloads/index.jsp</font>
				</a>
		</p>
		<p>
				<font size="2">eXo Platform在Tomcat下的安装配置方法：<br />（1）&#160;从 </font>
				<a href="http://www.exoplatform.com/portal/faces/public/exo">
						<font color="#0000ff">
						</font>
						<font size="2">
								<font color="#000080">下载eXo Platform的安装包</font>
						</font>
				</a>
				<font size="2">。<br />（2）&#160;解压ZIP包到某个目录下<br />（3）&#160;若下载Tomcat版本的eXo安装文件，则不需再装Tomcat，直接启动bin目录下的startup.bat文件。<br />（4）&#160; 在浏览器中输入</font>
				<a href="http://localhost/">
						<font color="#000080" size="2">运行eXo Platform.</font>
				</a>
				<a href="http://localhost/" target="_blank">
						<font color="#000080" size="2">http://localhost/</font>
				</a>
				<a href="http://www.exoplatform.com/portal/faces/public/exo" target="_blank">
						<font color="#000080" size="2">http://www.exoplatform.com/portal/faces/public/exo</font>
				</a>
		</p>
		<p>
				<font size="2">Jetspeed2在Tomcat下的安装配置方法：<br />（1）&#160;从 </font>
				<a href="http://www.apache.org/dist/portals/jetspeed-2/">
						<font color="#0000ff">
						</font>
						<font size="2">
								<font color="#000080">下载Jetspeed2 M1或M2版本安装包</font>
						</font>
				</a>
				<font size="2">。<br />（2）&#160;若是安装包中已经捆绑Tomcat，解压即可。若安装包不含Tomcat，先安装Tomcat，然后将安装包解压到Tomcat目录，并覆盖相关文件即可。<br />（3）&#160;安装要注意的问题有：Jetspeed2M1版本由于Bug无法安装Tomcat5.5上（此BUG见</font>
				<a href="http://issues.apache.org/jira/browse/JS2-187">
						<font color="#000080" size="2">）；Jetspeed2必须安装在Tomcat5.0.28以上版本上，否则低版本由于JAAS问题无法登陆</font>
				</a>
				<font size="2">；<br />（4）&#160;启动jetspeed-database目录下的start-database.bat，启动数据库；<br />（5）&#160;启动Tomcat；<br />（6）&#160;在浏览器中输入</font>
				<a href="http://localhost:8080/jetspeed/portal">
						<font color="#000080" size="2">运行Jetspeed；</font>
				</a>
				<a href="http://localhost:8080/jetspeed/portal" target="_blank">
						<font color="#000080" size="2">http://localhost:8080/jetspeed/portal</font>
				</a>
				<a href="http://issues.apache.org/jira/browse/JS2-187" target="_blank">
						<font color="#000080" size="2">http://issues.apache.org/jira/browse/JS2-187</font>
				</a>
				<a href="http://www.apache.org/dist/portals/jetspeed-2/" target="_blank">
						<font color="#000080" size="2">http://www.apache.org/dist/portals/jetspeed-2/</font>
				</a>
		</p><img src ="http://www.blogjava.net/rain1102/aggbug/95465.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2007-01-23 09:58 <a href="http://www.blogjava.net/rain1102/archive/2007/01/23/95465.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>portal基础知识</title><link>http://www.blogjava.net/rain1102/archive/2007/01/23/95459.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Tue, 23 Jan 2007 01:42:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2007/01/23/95459.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/95459.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2007/01/23/95459.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/95459.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/95459.html</trackback:ping><description><![CDATA[<font size="2">Portal包括：<br />(1) Portal Server。『Portal Server是基于WEB的应用程序, 它将不同资源进行整合并展现给用户。有些文章直接把Portal Server叫做Portal，请注意。』<br />(2) Portlet Container。『Portlet Container用来管理Portlet的生命周期并且提供其运行所需要的必要环境. 并且为Portlet Preferences提供持久性(Persistent)存取服务.但是其不支持内容的Aggregation. Aggregation由Portal组件提供.』<br />(3) Portlet。『Portlet 是以 </font>
		<a title="Java爱好者" href="/rain1102">
				<font size="2">Java</font>
		</a>
		<font size="2">技术为技术的 web 组件，可以被容器管理，可以产生动态内容。处理请求并动态返回页面, 可以做为Portal 的可拔插的用户界面组件.』<br /><br />我们需要Portal的目的就是要做到系统功能与模块的可配置。同时要开源并符合标准。能与其他的系统进行结合比如Struts。<br /></font>
		<p>
				<font size="2">目前比较主流的Portal产品：<br />Apache Jetspeed（http://jakarta.apache.org/jetspeed/）<br />Liferay（http://www.liferay.com）<br />EXOportal（http://cvs.sf.net/viewcvs.py/exo/ExoPortal/）<br />Pluto（http://jakarta.apache.org/pluto）<br />BEA WebLogic Portal （http://edocs.bea.com/wlp/docs81/javadoc/com/bea/portal/model/Portlet.html ）<br />IBM Websphere Portal （http://www.software.ibm.com/wsdd/zones/portal/ ）<br />Oracle Portal Developer Kit （http://portalstudio.oracle.com/） <br />jfoxportal（http://www.huihoo.org/jfox/jfoxportal/index.html 刚提出草案，不过是国内的。）</font>
		</p>
		<p>
				<font size="2">说Portal，就不能不提JSR#168 Portlet。<br /><br />JSR 是由 JCP ( </font>
				<a href="http://www.jcp.org/">
						<font size="2">http://www.jcp.org/</font>
				</a>
				<font size="2">) 这个 </font>
				<a title="Java爱好者" href="/rain1102">
						<font size="2">Java</font>
				</a>
				<font size="2">组织所定义出来的规范。JSR#168规范就是一个关于Portlet的规范 ——Portlet Spec 1.0 。既然有了规范，理所当然的之后的产品就应该按照这个规范来制作。<br /></font>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span>
						<strong>
								<font size="2">JSR168的目标是：<span lang="EN-US"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p></o:p></span></font>
						</strong>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 30pt; mso-char-indent-count: 2.0">
				<span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体">
						<font face="Times New Roman">
								<font size="2">定义<span lang="EN-US">portlet</span>的运行时环境，即<span lang="EN-US">portlet</span>容器<span lang="EN-US"><o:p></o:p></span></font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 30pt; mso-char-indent-count: 2.0">
				<span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体">
						<font face="Times New Roman">
								<font size="2">定义<span lang="EN-US">portlet</span>和<span lang="EN-US">portlet</span>容器之间的<span lang="EN-US">api</span>集<span lang="EN-US"><o:p></o:p></span></font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 30pt; mso-char-indent-count: 2.0">
				<span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体">
						<font face="Times New Roman">
								<font size="2">提供<span lang="EN-US">portlet</span>存储易失数据和持久数据的机制<span lang="EN-US"><o:p></o:p></span></font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 30pt; mso-char-indent-count: 2.0">
				<span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体">
						<font face="Times New Roman">
								<font size="2">提供<span lang="EN-US">portlet</span>包含<span lang="EN-US">servlet</span>和<span lang="EN-US">jsp</span>的机制<span lang="EN-US"><o:p></o:p></span></font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 30pt; mso-char-indent-count: 2.0">
				<span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体">
						<font face="Times New Roman">
								<font size="2">定义方便部署的<span lang="EN-US">portlet</span>打包方法<span lang="EN-US"><o:p></o:p></span></font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 30pt; mso-char-indent-count: 2.0">
				<span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体">
						<font face="Times New Roman">
								<font size="2">提供<span lang="EN-US">jsr168</span>规范下的<span lang="EN-US">portal</span>的二进制<span lang="EN-US">portlet</span>便携性<span lang="EN-US"><o:p></o:p></span></font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 30pt; mso-char-indent-count: 2.0">
				<span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体">
						<font face="Times New Roman">
								<font size="2">通过<span lang="EN-US">WSRP</span>（<span lang="EN-US">web service for remote portlet</span>）协议运行符合<span lang="EN-US">jsr168</span>规范的远程<span lang="EN-US">portlet<o:p></o:p></span></font>
						</font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 30pt; mso-char-indent-count: 2.0">
				<font face="Times New Roman">
						<span lang="EN-US" style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体">
								<font size="2">IT</font>
						</span>
						<span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体">
								<font size="2">界已经广泛的接受了<span lang="EN-US">jsr168</span>规范。所有的<span lang="EN-US">portal</span>领域主要公司都是<span lang="EN-US">jsr168</span>专家组的成员：<span lang="EN-US">Apache,AGT,BEA,Boeing,Borland,Broadvision,Citrix,EDS, Fujitsu, Hitachi, IBM, Novell, Oracle, SAP, SAS Institute, Sun Microsystems, Sybase, TIBCO, and Vignette</span>。官方支持列表甚至更长。<br /></font>
								<span lang="EN-US">
										<o:p>
												<br />
												<font size="2">
														<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">客户端请求由</span>
														<span lang="EN-US">Portal Web</span>
														<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">应用程序进行处理，它为当前用户检索当前页上的</span>
														<span lang="EN-US">Portlet</span>
														<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。然后，</span>
														<span lang="EN-US">Portal Web</span>
														<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">应用程序为每个</span>
														<span lang="EN-US">Portlet</span>
														<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">调用</span>
														<span lang="EN-US">Portlet</span>
														<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">容器来通过</span>
														<span lang="EN-US">Container Invoker API</span>
														<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">检索它的内容。</span>
														<span lang="EN-US">Portlet</span>
														<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">容器通过</span>
														<span lang="EN-US">Portlet API</span>
														<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">调用</span>
														<span lang="EN-US">Portlet</span>
														<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span>
														<span lang="EN-US">Container Provider Service Provider Interface</span>
														<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（</span>
														<span lang="EN-US">SPI</span>
														<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）允许</span>
														<span lang="EN-US">portlet</span>
														<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">容器通过</span>
														<span lang="EN-US">Portal</span>
														<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">检索信息。</span>
														<br />
														<br />
														<font size="3">
																<span lang="EN-US">Portlet</span>
																<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">窗口包括：</span>
														</font>
												</font>
										</o:p>
								</span>
						</span>
				</font>
		</p>
		<p class="MsoBodyText" style="MARGIN: 3pt 0cm 3pt 45pt; TEXT-INDENT: -21pt; mso-char-indent-count: 0; mso-list: l1 level1 lfo2; tab-stops: list 45.0pt">
				<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
						<span style="mso-list: Ignore">l<span style="FONT: 7pt 'Times New Roman'">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">标题栏，带有</span>
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的标题</span>
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoBodyText" style="MARGIN: 3pt 0cm 3pt 45pt; TEXT-INDENT: -21pt; mso-char-indent-count: 0; mso-list: l1 level1 lfo2; tab-stops: list 45.0pt">
				<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
						<span style="mso-list: Ignore">l<span style="FONT: 7pt 'Times New Roman'">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">修饰，包括用于更改</span>
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的窗口状态的按钮（比如最大化或最小化</span>
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）和用于更改</span>
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的模式的按钮（比如显示帮助或编辑预定义的</span>
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">设置）</span>
		</p>
		<p class="MsoBodyText" style="MARGIN: 3pt 0cm 3pt 45pt; TEXT-INDENT: -21pt; mso-char-indent-count: 0; mso-list: l1 level1 lfo2; tab-stops: list 45.0pt">
				<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
						<span style="mso-list: Ignore">l<span style="FONT: 7pt 'Times New Roman'">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">由</span>
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">产生的内容（也称为一个标记段）。</span>
				<br />
				<br />
		</p>
		<p class="MsoNormal">
				<span style="FONT-FAMILY: 宋体">下面是典型的事件流程，当用户访问</span>
				<span lang="EN-US">portal</span>
				<span style="FONT-FAMILY: 宋体">页面的时候：</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<o:p>&#160;</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN-LEFT: 42pt; TEXT-INDENT: -21pt">&lt;!--[if !supportLists]--&gt;<span lang="EN-US" style="FONT-FAMILY: Wingdings"><span>&#178;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span></span>&lt;!--[endif]--&gt;<span style="FONT-FAMILY: 宋体">客户端在验证后向</span><span lang="EN-US">portal</span><span style="FONT-FAMILY: 宋体">发</span><span lang="EN-US">http</span><span style="FONT-FAMILY: 宋体">请求。</span></p>
		<p class="MsoNormal" style="MARGIN-LEFT: 42pt; TEXT-INDENT: -21pt">&lt;!--[if !supportLists]--&gt;<span lang="EN-US" style="FONT-FAMILY: Wingdings"><span>&#178;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span></span>&lt;!--[endif]--&gt;<span lang="EN-US">portal</span><span style="FONT-FAMILY: 宋体">接收请求。</span></p>
		<p class="MsoNormal" style="MARGIN-LEFT: 42pt; TEXT-INDENT: -21pt">&lt;!--[if !supportLists]--&gt;<span lang="EN-US" style="FONT-FAMILY: Wingdings"><span>&#178;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span></span>&lt;!--[endif]--&gt;<span lang="EN-US">portal</span><span style="FONT-FAMILY: 宋体">判断是否有包含请求，并请求包含的动作指向的</span><span lang="EN-US">portlet</span><span style="FONT-FAMILY: 宋体">是和这个</span><span lang="EN-US">portal</span><span style="FONT-FAMILY: 宋体">页面相关联的。</span></p>
		<p class="MsoNormal" style="MARGIN-LEFT: 42pt; TEXT-INDENT: -21pt">&lt;!--[if !supportLists]--&gt;<span lang="EN-US" style="FONT-FAMILY: Wingdings"><span>&#178;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span></span>&lt;!--[endif]--&gt;<span style="FONT-FAMILY: 宋体">如果含有动作的目标</span><span lang="EN-US">portlet</span><span style="FONT-FAMILY: 宋体">，</span><span lang="EN-US">portal</span><span style="FONT-FAMILY: 宋体">发请求给</span><span lang="EN-US">portlet</span><span style="FONT-FAMILY: 宋体">容器去执行相应的</span><span lang="EN-US">portlet</span><span style="FONT-FAMILY: 宋体">的动作。</span></p>
		<p class="MsoNormal" style="MARGIN-LEFT: 42pt; TEXT-INDENT: -21pt">&lt;!--[if !supportLists]--&gt;<span lang="EN-US" style="FONT-FAMILY: Wingdings"><span>&#178;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span></span>&lt;!--[endif]--&gt;<span lang="EN-US">portal</span><span style="FONT-FAMILY: 宋体">通过</span><span lang="EN-US">portlet</span><span style="FONT-FAMILY: 宋体">容器调用</span><span lang="EN-US">portlets</span><span style="FONT-FAMILY: 宋体">，去获得内容片断，这个片断可以包含在</span><span lang="EN-US">portal</span><span style="FONT-FAMILY: 宋体">页面中。</span></p>
		<p class="MsoNormal" style="MARGIN-LEFT: 42pt; TEXT-INDENT: -21pt">&lt;!--[if !supportLists]--&gt;<span lang="EN-US" style="FONT-FAMILY: Wingdings"><span>&#178;<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span></span>&lt;!--[endif]--&gt;<span lang="EN-US">portal</span><span style="FONT-FAMILY: 宋体">集合</span><span lang="EN-US">portlets</span><span style="FONT-FAMILY: 宋体">的输出内容到</span><span lang="EN-US">1</span><span style="FONT-FAMILY: 宋体">个</span><span lang="EN-US">portal</span><span style="FONT-FAMILY: 宋体">页面中，并把页面返回客户端。</span></p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体">产生标记片断。</span>
				<span lang="EN-US">Portal</span>
				<span style="FONT-FAMILY: 宋体">通常给</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">产生的标记片断加了标题，控制按钮和其他的装饰，这个新的片断叫</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">窗口。然后</span>
				<span lang="EN-US">portal</span>
				<span style="FONT-FAMILY: 宋体">整合</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">窗口到完整的文件，</span>
				<span lang="EN-US">portal</span>
				<span style="FONT-FAMILY: 宋体">页面。</span>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<span lang="EN-US">
						<span>&#160;&#160; </span>
						<?XML:NAMESPACE PREFIX = V /?>
						<v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
								<v:stroke joinstyle="miter">
								</v:stroke>
								<v:formulas>
										<v:f eqn="if lineDrawn pixelLineWidth 0">
										</v:f>
										<v:f eqn="sum @0 1 0">
										</v:f>
										<v:f eqn="sum 0 0 @1">
										</v:f>
										<v:f eqn="prod @2 1 2">
										</v:f>
										<v:f eqn="prod @3 21600 pixelWidth">
										</v:f>
										<v:f eqn="prod @3 21600 pixelHeight">
										</v:f>
										<v:f eqn="sum @0 0 1">
										</v:f>
										<v:f eqn="prod @6 1 2">
										</v:f>
										<v:f eqn="prod @7 21600 pixelWidth">
										</v:f>
										<v:f eqn="sum @8 21600 0">
										</v:f>
										<v:f eqn="prod @7 21600 pixelHeight">
										</v:f>
										<v:f eqn="sum @10 21600 0">
										</v:f>
								</v:formulas>
								<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect">
								</v:path>
								<o:lock v:ext="edit" aspectratio="t">
								</o:lock>
						</v:shapetype>
						<v:shape id="_x0000_i1025" style="WIDTH: 33.75pt; HEIGHT: 13.5pt" type="#_x0000_t75">
								<v:imagedata src="file:///C:\DOCUME~1\SMALLN~1\LOCALS~1\Temp\msohtml1\01\clip_image001.png" o:title="">
								</v:imagedata>
						</v:shape>&lt;!--[if !vml]--&gt;<img height="402" alt="" src="http://blog.csdn.net/images/blog_csdn_net/smallnest/194033/r_portal1.JPG" width="511" v:shapes="_x0000_i1025" />&lt;!--[endif]--&gt;</span>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<span lang="EN-US">Portlets </span>
				<span style="FONT-FAMILY: 宋体">运行在</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">容器内。</span>
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体">容器接收</span>
				<span lang="EN-US">portlets</span>
				<span style="FONT-FAMILY: 宋体">产生的内容。典型的，</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">容器把</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">内容传到</span>
				<span lang="EN-US">portal</span>
				<span style="FONT-FAMILY: 宋体">。</span>
				<span lang="EN-US">Portal server</span>
				<span style="FONT-FAMILY: 宋体">根据</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">产生的内容创建</span>
				<span lang="EN-US">portal</span>
				<span style="FONT-FAMILY: 宋体">页面，并传送给客户端，由客户端显示。</span>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<span lang="EN-US">
						<v:shapeid style="WIDTH: 25.5pt; HEIGHT: 22.5pt" type="#_x0000_t75">
								<v:imagedata src="file:///C:\DOCUME~1\SMALLN~1\LOCALS~1\Temp\msohtml1\01\clip_image003.png" o:title="">
								</v:imagedata>
						</v:shapeid>lt;!--[if !vml]--&gt;<img height="239" alt="" src="http://blog.csdn.net/images/blog_csdn_net/smallnest/194033/r_portal2.JPG" width="514" v:shapes="_x0000_i1026" />&lt;!--[endif]--&gt;</span>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<span lang="EN-US">
						<o:p>&#160;</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<span lang="EN-US">
						<span>&#160;&#160;&#160;&#160;&#160;&#160; </span>
				</span>
				<span style="FONT-FAMILY: 宋体">客户使用客户终端访问</span>
				<span lang="EN-US">portal</span>
				<span style="FONT-FAMILY: 宋体">。在收到请求后，</span>
				<span lang="EN-US">portal</span>
				<span style="FONT-FAMILY: 宋体">判断满足请求的</span>
				<span lang="EN-US">portlets</span>
				<span style="FONT-FAMILY: 宋体">列表。</span>
				<span lang="EN-US">Portal</span>
				<span style="FONT-FAMILY: 宋体">通过</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">容器，调用</span>
				<span lang="EN-US">portlets</span>
				<span style="FONT-FAMILY: 宋体">。</span>
				<span lang="EN-US">Portal</span>
				<span style="FONT-FAMILY: 宋体">用</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">产生的片断创建</span>
				<span lang="EN-US">portal</span>
				<span style="FONT-FAMILY: 宋体">页面，同时把页面返回给用户。</span>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-FAMILY: 宋体">
						<v:shape id="_x0000_i1027" style="WIDTH: 18pt; HEIGHT: 13.5pt" type="#_x0000_t75">
								<v:imagedata src="file:///C:\DOCUME~1\SMALLN~1\LOCALS~1\Temp\msohtml1\01\clip_image005.gif" o:title="fig1">
								</v:imagedata>
						</v:shape>&lt;!--[if !vml]--&gt;<img height="330" alt="" src="http://blog.csdn.net/images/blog_csdn_net/smallnest/194033/r_portal3.JPG" width="498" v:shapes="_x0000_i1027" />&lt;!--[endif]--&gt;</span>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<span style="FONT-FAMILY: 宋体">用户可以根据需要通过增删</span>
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体">的方式配置他们的页面。在</span>
				<span lang="EN-US">Windows</span>
				<span style="FONT-FAMILY: 宋体">或者</span>
				<span lang="EN-US">XWindows</span>
				<span style="FONT-FAMILY: 宋体">窗口程序中，窗口有最大化和最小化的窗口状态，</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">也有窗口状态。</span>
				<span style="FONT-FAMILY: 宋体">窗口状态是</span>
				<span lang="EN-US">portal</span>
				<span style="FONT-FAMILY: 宋体">页面空间数量的指示器，它被赋值给</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">产生的内容中。当调用</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">，容器提供当前窗口状态给</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">。</span>
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体">使用窗口状态决定多少信息需要</span>
				<span lang="EN-US">render</span>
				<span style="FONT-FAMILY: 宋体">。</span>
				<span lang="EN-US">Portlets</span>
				<span style="FONT-FAMILY: 宋体">能在处理</span>
				<span lang="EN-US">action</span>
				<span style="FONT-FAMILY: 宋体">请求时，编程的改变他们的窗口状态。</span>
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体">规范定义了</span>
				<span lang="EN-US">3</span>
				<span style="FONT-FAMILY: 宋体">种窗口状态，</span>
				<span lang="EN-US">normal</span>
				<span style="FONT-FAMILY: 宋体">，</span>
				<span lang="EN-US">maximized</span>
				<span style="FONT-FAMILY: 宋体">和</span>
				<span lang="EN-US">minimized</span>
				<span style="FONT-FAMILY: 宋体">。</span>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<strong>
						<span lang="EN-US">Normal</span>
				</strong>
				<strong>
						<span style="FONT-FAMILY: 宋体">窗口状态</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</strong>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<strong>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</strong>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<span lang="EN-US">Normal</span>
				<span style="FONT-FAMILY: 宋体">窗口状态表示</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">要和其他的</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">共享页面。它也表示目标设备限制了显示能力。因此，</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">限制输出的尺寸。</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<strong>
						<span lang="EN-US">MAXIMIZED</span>
				</strong>
				<strong>
						<span style="FONT-FAMILY: 宋体">窗口状态</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</strong>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<strong>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</strong>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<span lang="EN-US">Maximized</span>
				<span style="FONT-FAMILY: 宋体">窗口状态表示</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">是</span>
				<span lang="EN-US">portal</span>
				<span style="FONT-FAMILY: 宋体">页面唯一的</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">，或</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">相比与其他的</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">有更多的空间。当窗口状态是</span>
				<span lang="EN-US">Maximized</span>
				<span style="FONT-FAMILY: 宋体">时，</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">产生更多的内容。</span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<strong>
						<span lang="EN-US">Minimized</span>
				</strong>
				<strong>
						<span style="FONT-FAMILY: 宋体">窗口状态</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</strong>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<span lang="EN-US">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<span style="FONT-FAMILY: 宋体">当</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">是</span>
				<span lang="EN-US">minimized</span>
				<span style="FONT-FAMILY: 宋体">状态，它将是最小限度的输出，或不输出。</span>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<span lang="EN-US">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<span lang="EN-US">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体">模式指出</span>
				<span lang="EN-US">porlet</span>
				<span style="FONT-FAMILY: 宋体">的功能。一般来说，</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">执行不同任务，依靠当前执行的任务的创建不同内容。</span>
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体">模式告诉</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">他们执行什么任务，生产什么内容。当调用</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">，容器提供当前</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">模式给</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">。</span>
				<span lang="EN-US">Portlets</span>
				<span style="FONT-FAMILY: 宋体">在处理</span>
				<span lang="EN-US">action</span>
				<span style="FONT-FAMILY: 宋体">请求时能编程的改变他们的</span>
				<span lang="EN-US">portlet</span>
				<span style="FONT-FAMILY: 宋体">模式。</span>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<span lang="EN-US">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<span lang="EN-US">Portlet</span>
				<span style="FONT-FAMILY: 宋体">有四种模式：</span>
				<span lang="EN-US">view</span>
				<span style="FONT-FAMILY: 宋体">，</span>
				<span lang="EN-US">edit, help</span>
				<span style="FONT-FAMILY: 宋体">和</span>
				<span lang="EN-US">config</span>
				<span style="FONT-FAMILY: 宋体">。</span>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<span style="FONT-FAMILY: 宋体">可用的模式根据用户的角色受到限制。例如，匿名用户只能使用</span>
				<span lang="EN-US">view</span>
				<span style="FONT-FAMILY: 宋体">和</span>
				<span lang="EN-US">help</span>
				<span style="FONT-FAMILY: 宋体">模式，而验证用户可以使用</span>
				<span lang="EN-US">edit</span>
				<span style="FONT-FAMILY: 宋体">模式。</span>
		</p>
		<p style="TEXT-INDENT: 18pt">
				<span style="FONT-SIZE: 10.5pt">举例来说，一个用户可以定制的股票信息<span lang="EN-US">Portlet</span>，<span lang="EN-US">View</span>模式允许用户查看股票列表，<span lang="EN-US">Help</span>模式提供给用户帮助手册，<span lang="EN-US">Edit</span>模式允许用户定制自己关注的股票列表，而<span lang="EN-US">Config</span>模式允许管理员改变股票服务的一些配置。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<strong>
						<span lang="EN-US">VIEW </span>
				</strong>
				<strong>
						<span style="FONT-FAMILY: 宋体">模式</span>
				</strong>
				<strong>
						<span lang="EN-US">
								<o:p>&#160;</o:p>
						</span>
				</strong>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<span lang="EN-US" style="FONT-FAMILY: 宋体">View</span>
				<span style="FONT-FAMILY: 宋体">模式期待的功能是产生标记反映当前的状态给<span lang="EN-US">portlet</span>。例如，<span lang="EN-US">view</span>模式的<span lang="EN-US">portlet</span>包含<span lang="EN-US">1</span>个或多个框，用户可以操作或交互，或组成不需要任何用户交互的的静态内容。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US" style="FONT-FAMILY: 宋体">Portlet</span>
				<span style="FONT-FAMILY: 宋体">开发者需要通过覆盖<span lang="EN-US">doView</span>方法实现<span lang="EN-US">view portlet</span>模式的功能。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<strong>
						<span lang="EN-US">EDIT </span>
				</strong>
				<strong>
						<span style="FONT-FAMILY: 宋体">模式</span>
				</strong>
				<strong>
						<span lang="EN-US">
								<o:p>&#160;</o:p>
						</span>
				</strong>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<span style="FONT-FAMILY: 宋体">通过<span lang="EN-US">edit</span>模式，<span lang="EN-US">portlet</span>提供内容和<span lang="EN-US">logic</span>让用户用户化<span lang="EN-US">portlet</span>的行为。<span lang="EN-US">Edit</span>模式包含一个或多个框，用户可以定位并输入他们的用户化数据。</span>
				<span lang="EN-US" style="FONT-FAMILY: 宋体">
						<o:p>&#160;</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<span style="FONT-FAMILY: 宋体">典型的，<span lang="EN-US">edit</span>模式，将设置或修改<span lang="EN-US">portlet</span>的参数。<span lang="EN-US">Portlet</span>开发者需要通过覆盖<span lang="EN-US">doEdit</span>方法实现<span lang="EN-US">edit portlet</span>模式的功能。<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal">
				<span lang="EN-US">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<strong>
						<span lang="EN-US">HELP </span>
				</strong>
				<strong>
						<span style="FONT-FAMILY: 宋体">模式</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</strong>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<strong>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</strong>
		</p>
		<p style="TEXT-INDENT: 18pt">
				<span style="FONT-SIZE: 10.5pt">当在<span lang="EN-US">help</span>模式，<span lang="EN-US">portlet</span>提供<span lang="EN-US">portlet</span>的<span lang="EN-US">help</span>信息。这个<span lang="EN-US">help</span>信息将会是简单的框，用连贯的正文或上下文敏感的帮助阐明了整个<span lang="EN-US">portlet</span>。<span lang="EN-US">Portlet</span>开发者需要通过覆盖<span lang="EN-US">doHelp</span>方法实现<span lang="EN-US">help portlet</span>模式的功能<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p style="TEXT-INDENT: 18pt">
				<span lang="EN-US" style="FONT-SIZE: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<strong>
						<span lang="EN-US">CONFIG </span>
				</strong>
				<strong>
						<span style="FONT-FAMILY: 宋体">模式</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</strong>
		</p>
		<p class="MsoNormal" style="TEXT-INDENT: 21pt">
				<strong>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</strong>
		</p>
		<p style="TEXT-INDENT: 18pt">
				<span style="FONT-SIZE: 10.5pt">当在<span lang="EN-US">config</span>模式，管理员可以进行相应的操作。</span>
				<span lang="EN-US">Portlet</span>开发者需要通过覆盖<span lang="EN-US">doConfig</span>方法实现<span lang="EN-US">view portlet</span>模式的功能。</p>
		<p style="TEXT-INDENT: 18pt">
				<span lang="EN-US">
						<o:p>
						</o:p>
				</span>
		</p>
		<p style="TEXT-INDENT: 18pt">
				<span style="FONT-SIZE: 10.5pt">因为<span lang="EN-US">Portlet</span>继承于<span lang="EN-US">Servlet,</span>所以<span lang="EN-US">portlet</span>可以打包成<span lang="EN-US">war</span>文件发布到<span lang="EN-US">Portal</span>容器中。管理员可以发布或者卸载<span lang="EN-US">portlet</span>。在一个<span lang="EN-US">Portlet Web </span>应用中，一个<span lang="EN-US">portlet</span>描述文件用来描述<span lang="EN-US">portlet</span>的属性和初始化信息。一个<span lang="EN-US">Portlet</span>定义包含一个<span lang="EN-US">application portlet</span>和多个<span lang="EN-US">concrete portlet</span>。一个<span lang="EN-US">Application Portlet</span>在<span lang="EN-US">portlet</span>容器中仅存在一个实例。一个<span lang="EN-US">concrete Portlet</span>实例一个使用额外的数据实例化的<span lang="EN-US">portlet</span>。<span lang="EN-US"><o:p></o:p></span></span>
		</p><img src ="http://www.blogjava.net/rain1102/aggbug/95459.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2007-01-23 09:42 <a href="http://www.blogjava.net/rain1102/archive/2007/01/23/95459.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>什么是Portal，Portal用来做什么，为什么要用Portal？ </title><link>http://www.blogjava.net/rain1102/archive/2007/01/22/95373.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Mon, 22 Jan 2007 09:09:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2007/01/22/95373.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/95373.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2007/01/22/95373.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/95373.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/95373.html</trackback:ping><description><![CDATA[<div twffan="done">Portal，中文字意：门户。在如今的网络时代，这是一个容易让人产生敬畏的词。因为说到&#8220;门户&#8221;，总是联想到yahoo、sina 之类的大型门户站点，它们因为提供大量综合分类的信息且易于检索而受到人们的欢迎。<br />&#160;&#160;&#160;&#160;&#160; 许多企业和组织同样需要类似功能的门户技术。他们同时需要为企业内部员工、外部客户群体量身定制有&#8220;价值&#8221;的企业信息，令企业倍感头痛的是：一方面是好些有&#8220;价值&#8221;的企业信息获取并不是一件轻松的事情，信息部门需要整合来自不同的应用系统，不同数据源，不同平台的无数各种类型的数据和资源；另一方面，如何轻松实现一个为所有的用户群体量身定制的系统构架也不是一件容易的事情。传统技术整合这些资源的技术复杂度和成本都太高，许多企业无法负担如此的投入。<br />Protal 技术的出现，带给人们解决这类难题的曙光。Portal技术强调以用户为中心，重视流程及整体工作效能，提供统一登陆界面，实现信息的集中访问。Portal 创建一个提供支持信息访问、传递，以及跨组织工作的集成化商务环境。<br />&#160;&#160;&#160;&#160;&#160; Protal它不仅要把企业级的后端内容表现出来，它还要把企业级的后端的应用表现出来。对于企业来说，Portal并不仅仅是发布几个新闻，它真正是为了处理业务用的。无论是企业客户还是员工，只要登录进Portal，将能够进入对应的业务系统，真正的去完成业务功能。那么这样的话，对于企业来说，Portal 将成为一个真正的&#8220;企业级&#8221;门户。<br />&#160;&#160;&#160;&#160;&#160; 基于企业级Portal有IBM websphere Portal，Sun ONE Portal，Bea WebLogic Portal四大产品。</div>
		<div twffan="done">&#160;</div>
		<div twffan="done">从技术方面讲，主要是体现：<br />&#160; 个性化<br />&#160; 各种设备的支持<br />&#160; 与后台系统的集成<br />&#160; 内容发布<br />&#160; 商务规则<br />&#160; 重中之重，为Single Sign On<br /></div>
		<div twffan="done">
				<img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/sharky77/1.jpg" twffan="done" />&#160;</div>
		<br /><img src ="http://www.blogjava.net/rain1102/aggbug/95373.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2007-01-22 17:09 <a href="http://www.blogjava.net/rain1102/archive/2007/01/22/95373.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>浅谈Portal技术 </title><link>http://www.blogjava.net/rain1102/archive/2007/01/22/95372.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Mon, 22 Jan 2007 09:03:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/archive/2007/01/22/95372.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/95372.html</wfw:comment><comments>http://www.blogjava.net/rain1102/archive/2007/01/22/95372.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/95372.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/95372.html</trackback:ping><description><![CDATA[<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -36pt; mso-outline-level: 1; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 12pt">
								<font face="Times New Roman">1.<span style="FONT: 7pt 'Times New Roman'">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></font>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">概述</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 12pt">
								<p>
								</p>
						</span>
				</b>
		</p>
		<p>
		</p>
		<p>
		</p>
		<p>
		</p>
		<p>
		</p>
		<p>
		</p>
		<p>
		</p>
		<p>
		</p>
		<p>
		</p>
		<p>
		</p>
		<p>
		</p>
		<p>
		</p>
		<p>
		</p>
		<p>
		</p>
		<p>
		</p>
		<p>
		</p>
		<span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; mso-hansi-font-family: 宋体">
				<font face="Times New Roman">
						<p class="MsoNormal" style="MARGIN: 0pt; TEXT-INDENT: 21pt">
								<span lang="EN-US" style="FONT-SIZE: 12pt; mso-hansi-font-family: 宋体">Portal</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">一词最早是指门户网站。简单讲</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt; mso-hansi-font-family: 宋体">Portal</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">是一个重要的</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt; mso-hansi-font-family: 宋体">Web</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">站点，是一个联合的社区，</span>
								<span class="news-121">
										<span style="FONT-SIZE: 12pt; COLOR: windowtext; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">它</span>
								</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">作为</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt">Web</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">应用程序的</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">简单</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">统一的访问点和信息系统的展现层，通过个性化&#8220;我的主页（</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt; mso-hansi-font-family: 宋体">My Home Pages</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">）&#8221;为不同用户提供个性化、统一登录和内容整合的服务。此外</span>
								<span class="news-121">
										<span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: windowtext">Portal</span>
								</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">还提供了许多有价值的附加功能，如安全性、搜索、协作和工作流等。对最终用户而言，</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt; mso-hansi-font-family: 宋体">Portal</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">就是一个到所有计算资源的单独访问点。业界认为</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt">Portal</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">将会成为下一代的桌面，在</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt">Web</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">上为各种客户机设备提供大量的电子商务应用。</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt; mso-hansi-font-family: 宋体">
										<p>
										</p>
								</span>
						</p>
						<p>
						</p>
						<p>
						</p>
						<p>
						</p>
				</font>
		</span>
		<span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">
				<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -36pt; mso-outline-level: 1; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt">
						<span class="news-121">
								<b style="mso-bidi-font-weight: normal">
										<span lang="EN-US" style="FONT-SIZE: 12pt">
												<font face="Times New Roman">2.<span style="FONT: 7pt 'Times New Roman'">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></font>
										</span>
								</b>
						</span>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">发展历程</span>
						</b>
						<span class="news-121">
								<b style="mso-bidi-font-weight: normal">
										<span lang="EN-US" style="FONT-SIZE: 12pt">
												<p>
												</p>
										</span>
								</b>
						</span>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">
						<p class="MsoNormal" style="MARGIN: 0pt; TEXT-INDENT: 21pt">
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">最初的</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt">
										<font face="Times New Roman">Portal</font>
								</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">指的是像</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt">
										<font face="Times New Roman">Yahoo</font>
								</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt">
										<font face="Times New Roman">Sina</font>
								</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">这样的</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt">
										<font face="Times New Roman">Internet</font>
								</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">门户网站。这些门户网站为用户提供了检索、分类和类似</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&#8220;</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt">
										<font face="Times New Roman">My Yahoo!</font>
								</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&#8221;</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">的个性化定制服务，目的是帮助用户更快地找到自己所需要的信息。这样的</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt">
										<font face="Times New Roman">Portal</font>
								</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">被称为</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt">
										<font face="Times New Roman">Public Portal</font>
								</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">，即面向公众的信息门户。</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt">
										<p>
										</p>
								</span>
						</p>
						<p>
						</p>
						<p>
						</p>
						<p>
						</p>
						<p class="MsoNormal" style="MARGIN: 0pt; TEXT-INDENT: 21pt">
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">随着</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt">
										<font face="Times New Roman">Web</font>
								</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">应用的发展，又出现了</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt">
										<font face="Times New Roman">Vertical Portal</font>
								</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt">
										<font face="Times New Roman">Enterprise Information Portal</font>
								</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt">
										<font face="Times New Roman">Vertical Portal</font>
								</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">即行业门户，目的是帮助某一行业的商业人员和技术人员找到自已需要的特定行业的商业信息和技术信息。</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt">
										<font face="Times New Roman">Enterprise Information Portal</font>
								</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt">
										<font face="Times New Roman">EIP</font>
								</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">即企业信息门户。目的是帮助企业用户及员工通过统一入口找到分布于企业的各种信息。与</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt">
										<font face="Times New Roman">Public Portal</font>
								</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">相似，</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt">
										<font face="Times New Roman">Vertical Portal</font>
								</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">和</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt">
										<font face="Times New Roman">EIP</font>
								</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">也同样提供了检索、分类和个性化定制服务。</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt">
										<p>
										</p>
								</span>
						</p>
						<p>
						</p>
						<p>
						</p>
						<p>
						</p>
						<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">在以上三种</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">Portal</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">中，</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">EIP</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">包含的内容最多，因此，</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">Portal</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的发展过程也在</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">EIP</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">中得到了最充分的体现。在</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">EIP</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">发展的最初阶段，</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">Portal</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">实际上就是一些静态网页，用户通过它获得企业提供的信息及服务。随着信息量的增加，逐渐增加了搜索功能和内容发布功能，并一定程度上实现了内容管理（</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-hansi-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">Content Management</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">）；融入了工作流，渠道（包括</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-hansi-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">Email</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">）的功能；集成了更多应用，如</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-hansi-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">ERP</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">，</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-hansi-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">CRM</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">，</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-hansi-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">SCM</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">等；增加了</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-hansi-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">Web Services</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">引擎。下面为</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-hansi-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">Portal</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">在企业应用里的结构图</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-hansi-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">(</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">摘自于</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-hansi-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">WebLogic Portal 8.1 </span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">相关资料</span>
								<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-hansi-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">)</span>
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">：</span>
						</p>
				</span>
				<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt" align="center">
						<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
								<img alt="" src="http://blog.csdn.net/images/blog_csdn_net/liu_linux/98826/o_Portal.jpg" align="middle" longdesc="http://blog.csdn.net/images/blog_csdn_net/liu_linux/98826/o_Portal.jpg" />
						</span>
				</p>
				<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
						<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
						</span>
				</p>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				</span>
				<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: center" align="center">
						<font size="2">
								<span class="news-121">
										<span style="COLOR: windowtext; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-font-size: 10.5pt">图：</span>
								</span>
								<span class="news-121">
										<span lang="EN-US" style="COLOR: windowtext; mso-bidi-font-size: 12.0pt; mso-ansi-font-size: 10.5pt">
												<font face="Times New Roman">Portal</font>
										</span>
								</span>
								<span class="news-121">
										<span style="COLOR: windowtext; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-font-size: 10.5pt">在企业信息化中扮演的角色</span>
								</span>
						</font>
				</p>
				<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: center" align="center">
						<font size="1">
								<span class="news-121">
										<span style="COLOR: windowtext; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-font-size: 10.5pt">
										</span>
								</span>
						</font>
				</p>
				<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: center" align="left">
						<font size="1">
								<span class="news-121">
										<span style="COLOR: windowtext; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-ansi-font-size: 10.5pt">
										</span>
								</span>
						</font>
						<span lang="EN-US" style="FONT-SIZE: 12pt; mso-hansi-font-family: 宋体">
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
								</span>
						</span>
				</p>
				<span lang="EN-US" style="FONT-SIZE: 12pt; mso-hansi-font-family: 宋体">
						<p>
						</p>
				</span>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
						<span class="news-121">
								<span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: windowtext">
										<font face="Times New Roman">
												<p>
												</p>
										</font>
								</span>
						</span>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -36pt; mso-outline-level: 1; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt">
						<strong>
								<span lang="EN-US" style="FONT-SIZE: 12pt; mso-bidi-font-weight: normal">
										<font face="Times New Roman">3.<span style="FONT: 7pt 'Times New Roman'">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></font>
								</span>
						</strong>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">现状</span>
						</b>
						<strong>
								<span lang="EN-US" style="FONT-SIZE: 12pt; mso-bidi-font-weight: normal">
										<p>
										</p>
								</span>
						</strong>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
						<span lang="EN-US" style="FONT-SIZE: 12pt">
								<font face="Times New Roman">
										<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">Portal</span>
										<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">技术与应用服务器紧密结合，加强了高级的个性化功能，发展成为应用服务器之上的管理客户、员工和合作伙伴应用的一个框架。</span>
										<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">Portal</span>
										<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">作为应用服务器之上的面向企业应用集成的产品里的必不可少的组成部分，在企业信息化方面扮演着重要的角色。各大应用服务器厂商也纷纷推出了自己的</span>
										<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">Portal</span>
										<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">产品，比较著名的有</span>
										<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">IBM WebSphere Portal Server</span>
										<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">，</span>
										<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">BEA WebLogic Portal</span>
										<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">，</span>
										<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">Sun Portal Server</span>
										<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">，同时也有同类开源产品，如</span>
										<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">Apache JetSpeed</span>
										<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">，</span>
										<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">Liferay</span>
										<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">等。</span>
								</font>
						</span>
						<span lang="EN-US" style="FONT-SIZE: 12pt">
								<p>
								</p>
						</span>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 36pt">
						<span lang="EN-US" style="FONT-SIZE: 12pt">
								<font face="Times New Roman">
										<p>
										</p>
								</font>
						</span>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -36pt; mso-outline-level: 1; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt">
						<b>
								<span lang="EN-US" style="FONT-SIZE: 12pt">
										<font face="Times New Roman">4.<span style="FONT: 7pt 'Times New Roman'">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></font>
								</span>
						</b>
						<b style="mso-bidi-font-weight: normal">
								<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">趋势</span>
						</b>
						<b>
								<span lang="EN-US" style="FONT-SIZE: 12pt">
										<p>
										</p>
								</span>
						</b>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p>
				</p>
				<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
						<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">著名咨询公司</span>
						<span lang="EN-US" style="FONT-SIZE: 12pt">
								<font face="Times New Roman">Gartner</font>
						</span>
						<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不久前</span>
						<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">提出了应用平台套件</span>
						<span lang="EN-US" style="FONT-SIZE: 12pt">
								<font face="Times New Roman">(Application Platform Suites</font>
						</span>
						<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">，简称</span>
						<span lang="EN-US" style="FONT-SIZE: 12pt">
								<font face="Times New Roman">APS)</font>
						</span>
						<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">的概念。根据</span>
						<span lang="EN-US" style="FONT-SIZE: 12pt">
								<font face="Times New Roman">Gartner</font>
						</span>
						<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">的定义，</span>
						<span lang="EN-US" style="FONT-SIZE: 12pt">
								<font face="Times New Roman">APS</font>
						</span>
						<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">由一批基础软件组装而成，这些基础软件提供了创建企业应用所需的架构，至少必须包括应用服务器、</span>
						<span lang="EN-US" style="FONT-SIZE: 12pt">
								<font face="Times New Roman">Portal</font>
						</span>
						<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'">产品和企业应用集成包等。</span>
						<span lang="EN-US" style="FONT-SIZE: 12pt">
								<font face="Times New Roman">IDC</font>
						</span>
						<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">通过对众多企业信息主管的调查发现，他们最关心的问题是如何实现企业应用的整合，以及如何构建统一的企业信息门户平台等。厂商对企业用户的这些需求，仅仅提供一个应用服务器是远远不够的，而需要提供一整套能够使企业有效和灵活地建立信息系统的工具和软件平台，把应用开发平台和应用集成平台有机地结合起来。</span>
				</p>
				<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
						<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
						</span>
						<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">总的来看，</span>
						<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">Portal</span>
						<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">作为未来企业信息用户平台的一个重要组件，随着应用服务器的发展，也将得到长足的发展和进步。</span>
				</p>
		</span><img src ="http://www.blogjava.net/rain1102/aggbug/95372.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2007-01-22 17:03 <a href="http://www.blogjava.net/rain1102/archive/2007/01/22/95372.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>