<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 431,  comments - 344,  trackbacks - 0

    需要portal-kernel.jar和portlet.jar兩個(gè)包,放入lib下。
    package com.rain.portal;

    import Java.io.IOException;

    import javax.portlet.GenericPortlet;
    import javax.portlet.PortletException;
    import javax.portlet.RenderRequest;
    import javax.portlet.RenderResponse;

    public class HelloWorldPortlet extends GenericPortlet {

     @Override
     protected void doEdit(RenderRequest arg0, RenderResponse arg1) throws PortletException, IOException {
      // TODO Auto-generated method stub
      arg1.setContentType("text/html");
      arg1.getWriter().println("Hello World,This is a Portlet!---doEdit");

     }

     @Override
     protected void doView(RenderRequest arg0, RenderResponse arg1) throws PortletException, IOException {
      // TODO Auto-generated method stub
      arg1.setContentType("text/html");
      arg1.getWriter().println("Hello World,This is a Portlet!---doView");

     }

    }

    package com.rain.portal;

    import Java.io.IOException;

    import javax.portlet.GenericPortlet;
    import javax.portlet.PortletException;
    import javax.portlet.PortletRequestDispatcher;
    import javax.portlet.RenderRequest;
    import javax.portlet.RenderResponse;

    public class HelloJSPPortlet extends GenericPortlet {

     @Override
     protected void doEdit(RenderRequest arg0, RenderResponse arg1) throws PortletException, IOException {
      // TODO Auto-generated method stub
      arg1.setContentType("text/html");
      String jspName=getPortletConfig().getInitParameter("edit-jsp");
      PortletRequestDispatcher rd=getPortletContext().getRequestDispatcher(jspName);
      rd.include(arg0, arg1);
     }

     @Override
     protected void doView(RenderRequest arg0, RenderResponse arg1) throws PortletException, IOException {
      // TODO Auto-generated method stub
      arg1.setContentType("text/html");
      String jspName=getPortletConfig().getInitParameter("view-jsp");
      PortletRequestDispatcher rd=getPortletContext().getRequestDispatcher(jspName);
      rd.include(arg0, arg1);
     }

    }


    web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "<web-app>
      <display-name>TestPortal</display-name>
      <listener>
        <listener-class>com.liferay.portal.kernel.servlet.PortletContextListener</listener-class>
      </listener>
      <servlet>
        <servlet-name>HelloWorldPortlet</servlet-name>
        <servlet-class>com.liferay.portal.kernel.servlet.PortletServlet</servlet-class>
        <init-param>
          <param-name>portlet-class</param-name>
          <param-value>com.rain.portal.HelloWorldPortlet</param-value>
        </init-param>
        <load-on-startup>0</load-on-startup>
      </servlet>
       <servlet>
        <servlet-name>HelloJSPPortlet</servlet-name>
        <servlet-class>com.liferay.portal.kernel.servlet.PortletServlet</servlet-class>
        <init-param>
          <param-name>portlet-class</param-name>
          <param-value>com.rain.portal.HelloJSPPortlet</param-value>
        </init-param>
        <load-on-startup>0</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>HelloWorldPortlet</servlet-name>
        <url-pattern>/HelloWorldPortlet/*</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>HelloJSPPortlet</servlet-name>
        <url-pattern>/HelloJSPPortlet/*</url-pattern>
      </servlet-mapping>
      <taglib>
        <taglib-uri>PortletTag</taglib-uri>
        <taglib-location>/WEB-INF/tld/liferay-portlet.tld</taglib-location>
      </taglib>
    </web-app>

    portlet.xml用來定義Portlet的諸如部署名稱、初始化參數(shù)、支持模式、resource bundle等普通的初始化信息,包括:portlet-name、display-nameportlet-class、init-param、expiration-cathe、supportsportlet-info、security-role-ref等等。其正式的規(guī)范請(qǐng)參考:http://java.sun.com/xml/ns/Portlet/Portlet-app_1_0.xsd

    portlet.xml
    <?xml version="1.0"?>
    <portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd  <portlet>
        <portlet-name>HelloWorldPortlet</portlet-name>
        <display-name>HelloWorldPortlet</display-name>
        <portlet-class>com.rain.portal.HelloWorldPortlet</portlet-class>
        <expiration-cache>0</expiration-cache>
        <supports>
          <mime-type>text/html</mime-type>
        </supports>
        <supports>
          <mime-type>text/html</mime-type>
          <portlet-mode>edit</portlet-mode>
        </supports>
        <portlet-info>
          <title>HelloWorldPortlet</title>
          <short-title>HelloWorldPortlet</short-title>
          <keywords>HelloWorldPortlet</keywords>
        </portlet-info>
        <security-role-ref>
          <role-name>guest</role-name>
        </security-role-ref>
        <security-role-ref>
          <role-name>power-user</role-name>
        </security-role-ref>
        <security-role-ref>
          <role-name>user</role-name>
        </security-role-ref>
      </portlet>
      <portlet>
        <portlet-name>HelloJSPPortlet</portlet-name>
        <display-name>HelloJSPPortlet</display-name>
        <portlet-class>com.rain.portal.HelloJSPPortlet</portlet-class>
        <init-param>
          <name>view-jsp</name>
          <value>/view.jsp</value>
        </init-param>
        <init-param>
          <name>edit-jsp</name>
          <value>/edit.jsp</value>
        </init-param>
        <expiration-cache>0</expiration-cache>
        <supports>
          <mime-type>text/html</mime-type>
        </supports>
        <supports>
          <mime-type>text/html</mime-type>
          <portlet-mode>edit</portlet-mode>
        </supports>
        <portlet-info>
          <title>HelloJSPPortlet</title>
          <short-title>HelloJSPPortlet</short-title>
          <keywords>HelloJSPPortlet</keywords>
        </portlet-info>
        <security-role-ref>
          <role-name>guest</role-name>
        </security-role-ref>
        <security-role-ref>
          <role-name>power-user</role-name>
        </security-role-ref>
        <security-role-ref>
          <role-name>user</role-name>
        </security-role-ref>
      </portlet>
    </portlet-app>

    定義Portlet默認(rèn)可用的用戶組、默認(rèn)模板、是否支持多個(gè)實(shí)例等,規(guī)范由http://www.liferay.com/dtd/liferay-Portlet-app_3_5_0.dtd

    liferay-portlet.xml
    <?xml version="1.0"?>
    <!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application 4.2.0//EN" "<liferay-portlet-app>
      <portlet>
        <portlet-name>HelloWorldPortlet</portlet-name>
        <struts-path>HelloWorldPortlet</struts-path>
        <use-default-template>true</use-default-template>
        <instanceable>true</instanceable>
      </portlet>
      <portlet>
        <portlet-name>HelloJSPPortlet</portlet-name>
        <struts-path>HelloJSPPortlet</struts-path>
        <use-default-template>true</use-default-template>
        <instanceable>true</instanceable>
      </portlet>
      <role-mapper> 
        <role-name>administrator</role-name>
        <role-link>Administrator</role-link>
      </role-mapper>
      <role-mapper>
        <role-name>guest</role-name>
        <role-link>Guest</role-link>
      </role-mapper>
      <role-mapper>
        <role-name>power-user</role-name>
        <role-link>Power User</role-link>
      </role-mapper>
      <role-mapper>
        <role-name>user</role-name>
        <role-link>User</role-link>
      </role-mapper>
    </liferay-portlet-app>

    定義Portlet默認(rèn)的所屬類別。Liferay Portal對(duì)Portlet實(shí)行按類別管理和劃分用戶權(quán)限。

    liferay-display.xml
    <?xml version="1.0"?>
    <!DOCTYPE display PUBLIC "-//Liferay//DTD Display 4.0.0//EN" "
    <display>
      <category name="category.test">
        <portlet id="HelloWorldPortlet"/>
        <portlet id="HelloJSPPortlet"/>
      </category>
    </display>

    view.jsp
    <table cellpadding="8" cellspacing="0" width="100%">
      <tr>
        <td>
          <font class="Portlet-font" style="font-size:x-small;">
            This is a <b>Sample JSP Portlet</b> used in viewing model. Use this as a quick way to include JSPs.
          </font>
        </td>
      </tr>
    </table>

    edit.jsp
    <table cellpadding="8" cellspacing="0" width="100%">
      <tr>
        <td>
          <font class="Portlet-font" style="font-size:x-small;">
            This is a <b>Sample JSP Portlet</b> used in editing model. Use this as a quick way to include JSPs.
          </font>
        </td>
      </tr>
    </table>
    主站蜘蛛池模板: 男女作爱免费网站| 亚洲国产精品VA在线看黑人| 亚洲激情电影在线| 久久九九全国免费| 国产亚洲免费的视频看 | 亚洲一级大黄大色毛片| 国产精品免费大片| 67pao强力打造67194在线午夜亚洲| 中文字幕无码日韩专区免费| 亚洲av永久无码精品表情包| 午夜精品免费在线观看 | 日本一道综合久久aⅴ免费| 精品免费AV一区二区三区| 在线jyzzjyzz免费视频| 色婷婷六月亚洲综合香蕉| 国产最新凸凹视频免费| 一级做a爰片久久毛片免费看| 久久99亚洲综合精品首页| 国产真人无码作爱视频免费| 亚洲人成在线电影| 成年女人毛片免费观看97| 国产亚洲蜜芽精品久久| 中文字幕亚洲综合久久菠萝蜜| 久久久久久久99精品免费观看| 久久99亚洲网美利坚合众国| 国产h视频在线观看免费| 春暖花开亚洲性无区一区二区| 亚洲一区二区三区免费| 91热久久免费精品99| 亚洲乱码av中文一区二区| 国产精品亚洲综合专区片高清久久久| 国产猛男猛女超爽免费视频| 亚洲av乱码一区二区三区| 亚洲第一福利网站在线观看| 你懂的免费在线观看网站| 亚洲精品无码专区| 亚洲av午夜成人片精品网站 | 久艹视频在线免费观看| 亚洲综合精品成人| 国精无码欧精品亚洲一区| 一个人在线观看视频免费|