<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>
    主站蜘蛛池模板: 精品无码专区亚洲| 久久精品国产免费观看三人同眠| 国产精品无码亚洲精品2021| 一色屋成人免费精品网站| 国产做床爱无遮挡免费视频| 亚洲精品国产摄像头| 女人让男人免费桶爽30分钟| 2019亚洲午夜无码天堂| 成人免费a级毛片| 一本天堂ⅴ无码亚洲道久久| 嫩草视频在线免费观看| 亚洲av最新在线观看网址| 亚洲av中文无码| 九九99热免费最新版| 亚洲成av人片在线观看无码不卡| 国产一级a毛一级a看免费视频 | 美女扒开尿口给男人爽免费视频| 久章草在线精品视频免费观看| 国产精品黄页在线播放免费| 在线观看亚洲电影| 亚洲中文字幕无码久久2017| 四虎国产精品免费永久在线| 免费一区二区三区四区五区| 日本亚洲精品色婷婷在线影院| 啦啦啦中文在线观看电视剧免费版| 在线精品亚洲一区二区| 四虎免费影院4hu永久免费| 一区二区三区视频免费| 国产成人综合久久精品免费| 免费人成网上在线观看| 久久精品国产亚洲| 两个人www免费高清视频| 亚洲色四在线视频观看| 免费视频成人手机在线观看网址| 亚洲高清资源在线观看| 午夜小视频免费观看| 久久久精品国产亚洲成人满18免费网站| 亚洲av无码无在线观看红杏| 大地资源免费更新在线播放| 黄色视频在线免费观看| 亚洲视频在线免费看|