jiqinglxj

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            2 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks

          1. 編寫HelloWorldPortlet,HelloJSPPortlet類

           1package com.educhina.portal;
           2
           3import javax.portlet.GenericPortlet;
           4import java.io.IOException;
           5import javax.portlet.PortletException;
           6import javax.portlet.PortletRequestDispatcher;
           7import javax.portlet.RenderRequest;
           8import javax.portlet.RenderResponse;
           9
          10
          11public class HelloJSPPortlet extends GenericPortlet {
          12    public void doView(RenderRequest req, RenderResponse res)
          13    throws IOException,PortletException
          14    {
          15        res.setContentType("text/html");
          16        String jspName=getPortletConfig().getInitParameter("view-jsp");
          17        PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher(jspName);
          18        rd.include(req,res);
          19        
          20    }

          21    public void doEdit(RenderRequest req, RenderResponse res)
          22    throws IOException,PortletException
          23    {
          24        res.setContentType("text/html");
          25        String jspName=getPortletConfig().getInitParameter("edit-jsp");
          26        PortletRequestDispatcher rd=getPortletContext().getRequestDispatcher(jspName);
          27        rd.include(req,res);        
          28    }

          29    
          30}

          31

          HelloJSPPortlet: 調用jsp.

           1package com.educhina.portal;
           2
           3import java.io.IOException;
           4import javax.portlet.GenericPortlet;
           5import javax.portlet.RenderRequest;
           6import javax.portlet.RenderResponse;
           7import javax.portlet.PortletException;
           8public class HelloWorldPortlet extends GenericPortlet{
           9    public void doView(RenderRequest req, RenderResponse res) 
          10     throws IOException,PortletException
          11    {
          12        res.setContentType("text/html");
          13        res.getWriter().println("hello world");
          14        
          15    }

          16    public void doEdit(RenderRequest req, RenderResponse res)
          17    throws IOException,PortletException
          18    {
          19        res.setContentType("text/html");
          20        res.getWriter().println("hello world");
          21    }

          22
          23}

          HelloWorldPortlet:直接輸出到portlet

          2.為HelloJSPPortlet建立jsp頁面.代碼如下:

           1<table cellpadding="8" cellspacing="0" width="100%">
           2    <tr>
           3        <td>
           4            <font class="Portlet-font" style="font-size:x-small;">
           5                this is a <b>Sample JSP Portlet</b> used in viewing in viewing model. use this a quick 
           6                way to include jsps.
           7            </font>
           8        </td>
           9    </tr>
          10</table>
          11

          注意:不能包含有<head><bady><html>的標簽.只能包含原來是<body></body>內部的html內容,<head>,<body> <html>信息由Portal頁面來提供.  只在在jsp頁面里使用了

          1<%@taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
          2<portlet:defineObjects/>

          才可以直接操作portlet的一些變量,比如renderResponse, renderRequest, PortletConfig .

          3.部署liferay portal
            一>修改portlet.xml文件(C:\liferay-portal-tomcat-jdk5-4.2.1\webapps\ROOT\WEB-INF)中.
          portlet定義portlet初始化信息
          在<portlet-app>節點下增加:

           1<portlet>
           2        <portlet-name>HelloWorldPortlet</portlet-name>
           3        <display-name>HelloWorldPortlet</display-name>
           4        <portlet-class>com.educhina.portal.HelloWorldPortlet</portlet-class>
           5        <expiration-cache>0</expiration-cache>
           6        <supports>
           7            <mime-type>text/html</mime-type>
           8        </supports>
           9            <supports>
          10            <mime-type>text/html</mime-type>
          11            <portlet-mode>edit</portlet-mode>
          12        </supports>
          13        <portlet-info>
          14          <title>HelloWorldPortlet</title>
          15          <short-title>HelloWorldPortlet</short-title>
          16          <keywords>HelloWorldPortlet</keywords>
          17        </portlet-info>
          18        <security-role-ref>
          19            <role-name>guest</role-name>
          20        </security-role-ref>
          21        <security-role-ref>
          22            <role-name>power-user</role-name>
          23        </security-role-ref>
          24        <security-role-ref>
          25            <role-name>user</role-name>
          26        </security-role-ref>
          27    </portlet>
          28    <portlet>
          29        <portlet-name>HelloJSPPortlet</portlet-name>
          30        <display-name>HelloJSPPortlet</display-name>
          31        <portlet-class>com.educhina.portal.HelloJSPPortlet</portlet-class>
          32        <init-param>
          33            <name>view-jsp</name>
          34            <value>/portlet/testPortlet/view.jsp</value>
          35        </init-param>
          36        <init-param>
          37            <name>edit-jsp</name>
          38            <value>/portlet/testPortlet/edit.jsp</value>
          39        </init-param>
          40        <expiration-cache>0</expiration-cache>
          41        <supports>
          42            <mime-type>text/html</mime-type>
          43        </supports>
          44            <supports>
          45            <mime-type>text/html</mime-type>
          46            <portlet-mode>edit</portlet-mode>
          47        </supports>
          48        <portlet-info>
          49          <title>HelloJSPPortlet</title>
          50          <short-title>HelloJSPPortlet</short-title>
          51          <keywords>HelloJSPPortlet</keywords>
          52        </portlet-info>
          53        <security-role-ref>
          54            <role-name>guest</role-name>
          55        </security-role-ref>
          56        <security-role-ref>
          57            <role-name>power-user</role-name>
          58        </security-role-ref>
          59        <security-role-ref>
          60            <role-name>user</role-name>
          61        </security-role-ref>
          62    </portlet>

          注意:
           <init-param>
             <name>edit-jsp</name>
             <value>/portlet/testPortlet/edit.jsp</value>
            </init-param> 
          告訴系jsp的位置,也就是HelloJSPPortlet類中
           String jspName=getPortletConfig().getInitParameter("view-jsp");
            PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher(jspName);
            rd.include(req,res);
          所用到的.
          所以編寫好的edit.jsp放入(C:\liferay-portal-tomcat-jdk-mytest\webapps\ROOT\html\portlet\testPortlet)中.
                二>修改liferay-portay.xml ------定義portlet模板,實例總數,是否允許重重定義等
          <liferay-portay-app>節點下:

           1 <portlet>
           2        <portlet-name>HelloWorldPortlet</portlet-name>
           3        <struts-path>HelloWorldPortlet</struts-path>
           4        <use-default-template>true</use-default-template>
           5      <instanceable>true</instanceable>
           6    </portlet>
           7    <portlet>
           8        <portlet-name>HelloJSPPortlet</portlet-name>
           9        <struts-path>HelloJSPPortlet</struts-path>
          10        <use-default-template>true</use-default-template>
          11      <instanceable>true</instanceable>
          12    </portlet>

              三>修改:liferay-display.xml---定義portlet所屬的類別.liferay Portal定義了一個category.test類別.將HelloWorldPortlet和HelloJSPPortlet歸屬于category.test
           <category name="category.test">
             <portlet id="HelloWorldPortlet" />
            <portlet id="HelloJSPPortlet" />
            <portlet id="47" />
          </category>

          另外把兩個類包拷貝到(C:\liferay-portal-tomcat-jdk-mytest\webapps\ROOT\WEB-INF\classes)目錄下.
          運行bin/startup.bat ok!

           


           

           



           


           


           


           

           

          posted on 2007-04-19 09:24 lixiaoji 閱讀(1053) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 孟连| 丹阳市| 弋阳县| 民和| 大竹县| 蓝田县| 宝坻区| 灯塔市| 定结县| 梁山县| 潼关县| 美姑县| 古田县| 武城县| 克东县| 瑞安市| 敦化市| 清流县| 连云港市| 大理市| 新丰县| 金华市| 南通市| 梅州市| 海丰县| 广德县| 长武县| 临朐县| 海城市| 寻甸| 汉源县| 兴山县| 黔东| 元朗区| 瑞昌市| 凌云县| 台江县| 张北县| 宁国市| 明溪县| 登封市|