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 閱讀(1055) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 甘洛县| 邵阳县| 耒阳市| 青龙| 错那县| 太保市| 夏津县| 麟游县| 东阳市| 华安县| 皋兰县| 建阳市| 肇东市| 河南省| 昌都县| 泾川县| 宾川县| 炎陵县| 大洼县| 阿勒泰市| 大庆市| 西青区| 富民县| 凤冈县| 称多县| 那坡县| 新巴尔虎右旗| 调兵山市| 武威市| 巴青县| 玛纳斯县| 福泉市| 阿尔山市| 乐至县| 清徐县| 云浮市| 昭觉县| 万山特区| 神木县| 景洪市| 墨竹工卡县|