<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兩個包,放入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的諸如部署名稱、初始化參數、支持模式、resource bundle等普通的初始化信息,包括:portlet-namedisplay-nameportlet-classinit-paramexpiration-cathesupportsportlet-infosecurity-role-ref等等。其正式的規范請參考: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默認可用的用戶組、默認模板、是否支持多個實例等,規范由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默認的所屬類別。Liferay PortalPortlet實行按類別管理和劃分用戶權限。

    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>
    主站蜘蛛池模板: 亚洲电影唐人社一区二区| 久久久久亚洲av无码专区喷水| ASS亚洲熟妇毛茸茸PICS| 亚洲黄色片免费看| 亚洲欧洲校园自拍都市| 91精品免费国产高清在线| 亚洲www在线观看| 成人免费a级毛片| 久久久亚洲精华液精华液精华液| 精品无码国产污污污免费| 国产成人亚洲精品播放器下载| 国产一级大片免费看| 国产成人无码免费网站| 亚洲乱码一区二区三区在线观看 | 国产精品四虎在线观看免费| 激情婷婷成人亚洲综合| 国产亚洲精品AA片在线观看不加载 | 亚洲aⅴ无码专区在线观看| 国产真实伦在线视频免费观看| 老妇激情毛片免费| 国产亚洲成人久久| 16女性下面无遮挡免费| 亚洲av成人综合网| 亚洲?v女人的天堂在线观看| 免费无码又爽又刺激网站直播| 亚洲激情视频在线观看| 免费人成视频在线| 成年网在线观看免费观看网址| 亚洲大尺度无码无码专区| 国产免费久久精品99re丫y| 国产精品久久久久久亚洲小说| 亚洲欧洲日产国码无码网站| 免费看又黄又无码的网站| 亚洲精品乱码久久久久蜜桃| 国产亚洲精品无码专区| 国产一卡二卡3卡四卡免费| 一区二区三区免费在线视频| 亚洲宅男永久在线| 又色又污又黄无遮挡的免费视| 久爱免费观看在线网站| 亚洲爆乳精品无码一区二区|