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

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

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

    Terry.Li-彬

    虛其心,可解天下之問;專其心,可治天下之學(xué);靜其心,可悟天下之理;恒其心,可成天下之業(yè)。

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      143 隨筆 :: 344 文章 :: 130 評論 :: 0 Trackbacks
     這里我們主要以4.0的版本為主,雖然還只是rc1版,但相信正式版應(yīng)該很快就出來了。
    一、portal服務(wù)器下載和運(yùn)行環(huán)境
            首先訪問liferay的官方網(wǎng)站http://www.liferay.com下載portal服務(wù)器,我們可以選擇它的tomcat集成版下載,這樣可以省去一些麻煩。
            然后啟動(dòng)bin目錄下的statup.bat就啟動(dòng)了tomcat服務(wù),然后通過http://localhost:8080訪問就可以,默認(rèn)的用戶名和密碼是 test@liferay.com/test。
           登錄以后可以通過左方面的連接進(jìn)入相關(guān)的操作:
           “我的帳戶”里可以進(jìn)行個(gè)人信息,歡迎信息,語言等基本信息的設(shè)置。
           “我的地方”可以分別進(jìn)行個(gè)人,公開,gust,cms,suport等環(huán)境的設(shè)置,其實(shí)就相當(dāng)于幾個(gè)不同的虛擬站點(diǎn)。
           針對“我的地方“的每個(gè)站點(diǎn)可以進(jìn)行”頁設(shè)置“,即站點(diǎn)頁面和級次的設(shè)置
          ”增加內(nèi)容“則是對當(dāng)前所在的頁面進(jìn)行內(nèi)容的添加或改變頁面模版(但目前感覺它的范本設(shè)置還存在問題),如果要?jiǎng)h除的話直接點(diǎn)擊每個(gè)portlet的刪除按鈕就可以了。
          另外在我的私人空間首頁,即登錄后默認(rèn)的首頁里,在”管理者“的portlet里我們可以進(jìn)行相應(yīng)的設(shè)置,像企業(yè)里可以改變站點(diǎn)的語言,banner圖片等基本信息,portlets里可以進(jìn)行目前的所有portlet的管理。
          這個(gè)里面基本上都是一些設(shè)置的熟悉和使用,相信每個(gè)地方都試一試就會有所了解了。

    二、簡單的開發(fā)自己的portlet

          做portlet開發(fā)通常首先也要建立一個(gè)獨(dú)立的工程(避免和系統(tǒng)的混在一起不便于管理)。建立工程的時(shí)候不管是用jbuilder還是eclipse,和我們建立普通的web工程并沒有什么不同。測試的例子以前網(wǎng)上有一篇介紹3.6.1的開發(fā)的寫的很不錯(cuò),我只是指出其中的一些不同和做一些補(bǔ)充,避免大家在多花去一些不必要的時(shí)間,我也是多花了幾個(gè)小時(shí)才找出來的。

    1、portlet程序編寫
        其中HelloWorldPortlet和HelloJSPPortlet 是兩個(gè)獨(dú)立的portlet測試,只不過前面一個(gè)類似servlet直接輸出,而后者使用了jsp頁面的顯示。

    package com.lyj.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 {
        public void doView(RenderRequest req, RenderResponse res)
                throws IOException, PortletException {
            res.setContentType("text/html");
            res.getWriter().println("HelloWorld liuyujun test one! 中文測試一");
        }

        public void doEdit(RenderRequest req, RenderResponse res)
                throws IOException, PortletException {
            res.setContentType("text/html");
            res.getWriter().println("HelloWorld liuyujun test two! 中文測試二");
        }
    }


    package com.lyj.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;
    import javax.portlet.PortletPreferences;
    import javax.portlet.ActionRequest;
    import javax.portlet.ActionResponse;

    public class HelloJSPPortlet extends GenericPortlet {
        public void doView(RenderRequest req, RenderResponse res) throws
                IOException, PortletException {
            res.setContentType("text/html");
            String jspName = getPortletConfig().getInitParameter("view-jsp");
            PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher(
                    jspName);
            rd.include(req, res);
        }

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

    2、我們在工程的web的根目錄下再增加HelloJSPPortlet需要用到的兩個(gè)jsp文件
    view.jsp

    <%@ page language="java" contentType="text/html;charset=GBK"%>
    <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
    wayy to include JSPs。 view 成功
    </td>
    </tr>
    </table>


    edit.jsp
    <%@ page language="java" contentType="text/html;charset=GBK"%>
    <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
    wayy to include JSPs。edit 萬歲
    </td>
    </tr>
    </table>

    注意橙色背景的內(nèi)容一定要加上,不然會有中文亂碼問題

    3、web.xml配置
    <?xml version="1.0"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app id="TestPortal">
      <display-name>TestPortal</display-name>
      <context-param>
            <param-name>company_id</param-name>
            <param-value>liferay.com</param-value>
        </context-param>
      <listener>
        <listener-class>com.liferay.portal.shared.servlet.PortletContextListener</listener-class>
      </listener>
      <servlet>
        <servlet-name>HelloWorldPortlet</servlet-name>
        <servlet-class>com.liferay.portal.servlet.PortletServlet</servlet-class>
        <init-param>
          <param-name>portlet-class</param-name>
          <param-value>com.lyj.portal.HelloWorldPortlet</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>
        <servlet-name>HelloJSPPortlet</servlet-name>
        <servlet-class>com.liferay.portal.servlet.PortletServlet</servlet-class>
        <init-param>
          <param-name>Portlet-class</param-name>
          <param-value>com.lyj.portal.HelloJSPPortlet</param-value>
        </init-param>
        <load-on-startup>0</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>HelloJSPPortlet</servlet-name>
        <url-pattern>/HelloJSPPortlet/*</url-pattern>
      </servlet-mapping>
      <taglib>
        <taglib-uri>http://java.sun.com/portlet</taglib-uri>
        <taglib-location>/WEB-INF/tld/liferay-portlet.tld</taglib-location>
      </taglib>
    </web-app>

    其中紅色字體和藍(lán)色字體的內(nèi)容,如果以前使用3.6.1的一定要注意,藍(lán)色部分以前是不需要加的,但是現(xiàn)在是必須的,如果不加的話,在portal管理列表里能列出我們開發(fā)的portlet,但在添加內(nèi)容時(shí)無法找到我們自己的portlet。紅色字體的部分相對原來多了shared,也就是它的類包進(jìn)行了一定的調(diào)整,注意一下就可以了。

    4、另外增加WEB-INF下增加portlet的私有配置文件
    portlet.xml

    <?xml version="1.0"?>
    <portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="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.lyj.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>
        <portlet-preferences>
          <preference>
            <name>portlet-title</name>
            <value></value>
          </preference>
          <preference>
            <name>show-portlet-borders</name>
            <value>true</value>
          </preference>
        </portlet-preferences>
        <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.lyj.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>

    liferay-portlet.xml

    <?xml version="1.0"?>
    <!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application 3.5.0//EN" "http://www.liferay.com/dtd/liferay-portlet-app_3_5_0.dtd">

    <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>

    liferay-display.xml

    <?xml version="1.0"?>
    <!DOCTYPE display PUBLIC "-//Liferay//DTD Display 3.5.0//EN" "http://www.liferay.com/dtd/liferay-display_3_5_0.dtd">
    <display>
      <category name="category.test">
        <portlet id="HelloWorldPortlet"/>
        <portlet id="HelloJSPPortlet"/>
      </category>
    </display>

    5、在WEB-INF下新建一個(gè)tld目錄,把 tomcat\liferay\WEB-INF\tld\liferay-portlet.tld 復(fù)制過來就可以了
    6、編譯完成后,像我們正常的發(fā)布web的方式發(fā)布就可以了,比如修改tomcat的配置文件,直接用一個(gè)虛擬目錄TestPortal指向我們工程的web 目錄;或者把我們的web目錄打包成TestPortal.war放到tomcat的webapps目錄下就可以了。重新啟動(dòng)tomcat,登錄后,我們會在portlet管理中發(fā)現(xiàn)增加了HelloWorldPortlet,HelloJSPPortlet兩個(gè)portlet,在增加內(nèi)容的時(shí)候在彈出的內(nèi)容頁面 測試(test)中多了上述的兩個(gè)portlet。并且可以增加到我們的頁面中看看效果吧。
    posted on 2008-03-14 13:10 禮物 閱讀(1598) 評論(0)  編輯  收藏 所屬分類: Liferay
    主站蜘蛛池模板: 亚洲色欲或者高潮影院| jjzz亚洲亚洲女人| 在线永久免费的视频草莓| 18禁止看的免费污网站| 91精品国产免费久久国语麻豆| 免费的全黄一级录像带| 任你躁在线精品免费| 国产三级在线免费| 99精品视频在线观看免费播放 | 亚洲人成电影在线观看青青| 91亚洲国产成人久久精品网站| 亚洲va在线va天堂va888www| 久久亚洲精品成人无码网站| 亚洲成A∨人片在线观看无码| 亚洲av乱码一区二区三区香蕉| 中中文字幕亚洲无线码| 色偷偷尼玛图亚洲综合| 一区二区三区免费在线视频| 三级黄色片免费看| 免费看又黄又无码的网站| 曰曰鲁夜夜免费播放视频 | 9i9精品国产免费久久| 亚洲精品免费在线观看| 免费毛片a在线观看67194 | 久久99青青精品免费观看| 2021国内精品久久久久精免费| 希望影院高清免费观看视频| 日本免费v片一二三区| 国产成人高清亚洲| 亚洲国产精品免费视频| 亚洲最大的成人网| 亚洲一级片免费看| 亚洲视频在线观看免费视频| 成人免费视频观看无遮挡| 亚洲区不卡顿区在线观看| 91精品国产亚洲爽啪在线观看| 亚洲一久久久久久久久| 精品国产免费一区二区三区| 精品女同一区二区三区免费站| 在线观看免费亚洲| 亚洲AV无码成人专区片在线观看|