﻿<?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-Java之深度历险-文章分类-Portal</title><link>http://www.blogjava.net/vincege/category/4437.html</link><description>vincege的原创空间</description><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 14:25:11 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 14:25:11 GMT</pubDate><ttl>60</ttl><item><title>Portal资源清单</title><link>http://www.blogjava.net/vincege/articles/18008.html</link><dc:creator>vincege</dc:creator><author>vincege</author><pubDate>Thu, 03 Nov 2005 12:30:00 GMT</pubDate><guid>http://www.blogjava.net/vincege/articles/18008.html</guid><wfw:comment>http://www.blogjava.net/vincege/comments/18008.html</wfw:comment><comments>http://www.blogjava.net/vincege/articles/18008.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/vincege/comments/commentRss/18008.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vincege/services/trackbacks/18008.html</trackback:ping><description><![CDATA[<H1 dir=ltr style="MARGIN-RIGHT: 0px">Liferay</H1>
<H2 dir=ltr style="MARGIN-RIGHT: 0px">Liferay官方网站：<A href="http://www.liferay.com/">www.liferay.com</A></H2>
<H2 dir=ltr style="MARGIN-RIGHT: 0px">Liferay中文站：<A href="http://liferay.cn/">liferay.cn</A></H2><BR><BR>其他<BR><img src ="http://www.blogjava.net/vincege/aggbug/18008.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vincege/" target="_blank">vincege</a> 2005-11-03 20:30 <a href="http://www.blogjava.net/vincege/articles/18008.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Liferay之初体验——沉重的优雅</title><link>http://www.blogjava.net/vincege/articles/18006.html</link><dc:creator>vincege</dc:creator><author>vincege</author><pubDate>Thu, 03 Nov 2005 12:22:00 GMT</pubDate><guid>http://www.blogjava.net/vincege/articles/18006.html</guid><wfw:comment>http://www.blogjava.net/vincege/comments/18006.html</wfw:comment><comments>http://www.blogjava.net/vincege/articles/18006.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/vincege/comments/commentRss/18006.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vincege/services/trackbacks/18006.html</trackback:ping><description><![CDATA[<P><FONT color=#000000>客户又开口了，一个小系统非要用Liferay。钱在人家的口袋里，要想掏出来还真得满口答应。当然心里也愤愤的想，改天也花点小钱让别人替我摸索新技术，省得总是吃的比猫少、干的比牛多、睡得比狗晚、起得比鸡早。<BR><BR>安装过程还是比较顺利的，除了缺少xalan.jar。没关系从Eclipse里找到拷过来。运行bin\startup.bat，访问</FONT><A href="http://localhost/"><FONT color=#000000>http://localhost</FONT></A><FONT color=#000000>，很顺利的就跑起来了。管理员用户名是：test@liferay.com，密码是：test。<BR><BR>逛也逛够了，雄心勃勃的开始分析代码，谁知道这就是灾难的开始呢？根据以前对Portal的了解，Portlet是重中之重，从这里下手准没错。看着里面Calendar不错，就拿它来开刀。<BR><BR>1、在liferay\WEB-INF\portlet.xml中找找看，果然发现了Calendar这个portlet的定义。<BR><PORTLET></FONT></P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">portlet</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><FONT color=#000000><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">portlet-name</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000">8</SPAN></FONT><SPAN style="COLOR: #0000ff"></< SPAN><FONT color=#000000><SPAN style="COLOR: #800000">portlet-name</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><FONT color=#000000><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">display-name</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000">Calendar</SPAN></FONT><SPAN style="COLOR: #0000ff"></< SPAN><FONT color=#000000><SPAN style="COLOR: #800000">display-name</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><FONT color=#000000><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">portlet-class</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000">com.liferay.portlet.StrutsPortlet</SPAN></FONT><SPAN style="COLOR: #0000ff"></< SPAN><FONT color=#000000><SPAN style="COLOR: #800000">portlet-class</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><FONT color=#000000><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">init-param</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><FONT color=#000000><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">name</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000">view-action</SPAN></FONT><SPAN style="COLOR: #0000ff"></< SPAN><FONT color=#000000><SPAN style="COLOR: #800000">name</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><FONT color=#000000><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">value</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000">/calendar/view</SPAN></FONT><SPAN style="COLOR: #0000ff"></< SPAN><FONT color=#000000><SPAN style="COLOR: #800000">value</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><SPAN style="COLOR: #0000ff"></< SPAN><FONT color=#000000><SPAN style="COLOR: #800000">init-param</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><FONT color=#000000><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">expiration-cache</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000">0</SPAN></FONT><SPAN style="COLOR: #0000ff"></< SPAN><FONT color=#000000><SPAN style="COLOR: #800000">expiration-cache</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><FONT color=#000000><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">supports</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><FONT color=#000000><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">mime-type</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000">text/html</SPAN></FONT><SPAN style="COLOR: #0000ff"></< SPAN><FONT color=#000000><SPAN style="COLOR: #800000">mime-type</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><SPAN style="COLOR: #0000ff"></< SPAN><FONT color=#000000><SPAN style="COLOR: #800000">supports</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><FONT color=#000000><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">resource-bundle</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000">com.liferay.portlet.StrutsResourceBundle</SPAN></FONT><SPAN style="COLOR: #0000ff"></< SPAN><FONT color=#000000><SPAN style="COLOR: #800000">resource-bundle</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><FONT color=#000000><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">portlet-preferences</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><FONT color=#000000><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">preference</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><FONT color=#000000><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">name</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000">event-type</SPAN></FONT><SPAN style="COLOR: #0000ff"></< SPAN><FONT color=#000000><SPAN style="COLOR: #800000">name</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><FONT color=#000000><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">value</SPAN></FONT><SPAN style="COLOR: #0000ff"><FONT color=#000000>&gt;</< SPAN><SPAN style="COLOR: #800000">value</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><SPAN style="COLOR: #0000ff"></< SPAN><FONT color=#000000><SPAN style="COLOR: #800000">preference</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><SPAN style="COLOR: #0000ff"></< SPAN><FONT color=#000000><SPAN style="COLOR: #800000">portlet-preferences</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><FONT color=#000000><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">security-role-ref</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><FONT color=#000000><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">role-name</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000">power-user</SPAN></FONT><SPAN style="COLOR: #0000ff"></< SPAN><FONT color=#000000><SPAN style="COLOR: #800000">role-name</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><SPAN style="COLOR: #0000ff"></< SPAN><FONT color=#000000><SPAN style="COLOR: #800000">security-role-ref</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><FONT color=#000000><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">security-role-ref</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><FONT color=#000000><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">role-name</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000">user</SPAN></FONT><SPAN style="COLOR: #0000ff"></< SPAN><FONT color=#000000><SPAN style="COLOR: #800000">role-name</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><SPAN style="COLOR: #0000ff"></< SPAN><FONT color=#000000><SPAN style="COLOR: #800000">security-role-ref</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><SPAN style="COLOR: #0000ff"></< SPAN><FONT color=#000000><SPAN style="COLOR: #800000">portlet</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></FONT></SPAN></DIV>
<P><FONT color=#000000>2、慢着，为什么是StrutsPortlet而不是CalendarPortlet？这和我以前了解到的情况不符。和其他Portlet的定义相比较，这里也缺了edit-action的定义，究竟怎么回事？虽然有所疑问，好歹structs我是知道的，打开liferay\WEB-INF\structs-config.xml看看究竟。搜索一下/calendar/view，发现定义如下：</FONT></P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">action&nbsp;</SPAN><SPAN style="COLOR: #ff0000">path</SPAN><SPAN style="COLOR: #0000ff">="/calendar/view"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;forward</SPAN><SPAN style="COLOR: #0000ff">="portlet.calendar.view"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">/&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></FONT></SPAN></DIV>
<P><FONT color=#000000>3、这个好像是在tiles里定义的，那么打开liferay\WEB-INF\tiles-defs.xml看看。搜索portlet.calendar.view，嗯找到了。</FONT></P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">definition&nbsp;</SPAN><SPAN style="COLOR: #ff0000">name</SPAN><SPAN style="COLOR: #0000ff">="portlet.calendar.view"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;extends</SPAN><SPAN style="COLOR: #0000ff">="portlet.calendar"</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><FONT color=#000000><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">put&nbsp;</SPAN><SPAN style="COLOR: #ff0000">name</SPAN><SPAN style="COLOR: #0000ff">="portlet_content"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;value</SPAN><SPAN style="COLOR: #0000ff">="/portlet/calendar/view.jsp"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">/&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><SPAN style="COLOR: #0000ff"></< SPAN><FONT color=#000000><SPAN style="COLOR: #800000">definition</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT color=#000000><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></FONT></SPAN></DIV>
<P><DEFINITION extends="portlet.calendar" name="portlet.calendar.view"></DEFINITION><FONT color=#000000>4、终于发现我认识的东西了，是一个jsp文件。顾不上看看portlet.calendar对应的定义，先打开相应的jsp看看到底怎么写的。具体位置在liferay\html\portlet\calendar\view.jsp。不看不知道，一看吓一跳。在这个jsp文件中直接或间接include了四个jsp页面：<BR>liferay\html\portlet\common\init.jsp：这个文件是用来<BR>liferay\html\portlet\common\init-ext.jsp<BR>liferay\html\portlet\calendar\init.jsp<BR>liferay\html\portlet\common\calendar.jsp</FONT></P></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN><img src ="http://www.blogjava.net/vincege/aggbug/18006.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vincege/" target="_blank">vincege</a> 2005-11-03 20:22 <a href="http://www.blogjava.net/vincege/articles/18006.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>