Portál létrehozása liferay-hez a wicket használatával

Ez az útmutató részletezi a portál létrehozásának folyamatát a Liferay portál számára a Wicket keretrendszer használatával.

A kézikönyv minden része:

A minta forráskódja elérhető a GitHub-on.

Üdvözlet, kedves felhasználó a Wicket keretrendszerben!

Ahogy ezt megértettem, sürgősen szükség volt egy vagy két alacsony kulcsú portlet létrehozására a Liferay portál számára, ezért választottad el ezt az útmutatót? Ha igen, megpróbálom részletesen megmutatni, hogyan hozhat létre egy kis portletet a Wicket használatával.

Egyszerre figyelmeztetni szeretném, hogy a Wicket messze nem a legjobb választás a portletek létrehozásának keretei között. A Wicket fejlesztők nem maguk használják a portleteket, ezért ne várják, hogy a Wicket gazdag eszközei gyorsan és könnyen végrehajthassák a portlet specifikációjában leírt összes funkciót. Számos nem dokumentált "csapdába" lehet számítani, és aligha érdemes arra számítani, hogy ez a helyzet a közeljövőben változni fog. De minden akadály ellenére teljes mértékben működőképes egy Wicket-alapú portlet létrehozása teljesen lehetséges. Tehát ha sok napot és éjszakát szentel a Wicket panel, az oldal és más komponensek fejlesztéséhez, akkor ugyanúgy folytathatja a fejlesztést a Liferay számára. Minél összetettebbek, annál értékesebb, remélem, ez az útmutató az Ön számára.

Figyelembe véve azt a tényt is, hogy továbbra is megvitatjuk az eszközök és specifikációk következő verzióit:

  • Portlet specifikáció JSR-286.
  • Az Apache Wicket 1.4.x keretrendszer.

Az a tény, hogy a Wicket 1.4.x-ben, ellentétben az 1.5.x osztályokkal a portletek létrehozásához, még mindig a keret középpontjában áll. A Wicket 1.5.x-ben egy külön projektben - wicketstuff-portlet-1.5.x.jar készítik őket. Így fejleszthetsz portleteket, és használhatod a Wicket 1.5.x alkalmazást, de még több JAR-becenevet kell kapsz a CLASSPATH-ban.

Úgy gondolom, ez az útmutató akkor is használható, ha portleteket fejleszt a Liferay 6.1.0 verziójára. Ugyanakkor nem szabad elfelejteni, hogy abban az időben az írás személybejáró portletekből nem működik a Liferay 6.1.0 hiba miatt: java.lang.IllegalArgumentException: Hiba inicializálása WicketFilter - nincs elem a url-pattern, amely a szűrő: AchievementPortlet A probléma kiküszöbölése érdekében próbálja meg használni a javasolt megoldást. Ennek lényege abban rejlik, hogy csak meg kell adni egy sort Liferay-web-xml-enabled = false liferay-plugin-package.properties fájlt. Ez letiltja egy jó csomag web-szűrőket Liferay belső igényeit, de mi még mindig szükségük van rájuk, nem? Mindenesetre az opció letiltja a szűrők automatikus létrehozását, és manuálisan bármikor hozzáadhatja őket a liferay-web.xml fájlhoz, amint szükség van rá! De ez egy másik történet ...

Mi még mindig fejlődünk?

Amint reménykedem, világossá vált, hogy a Lickay-nak a Wicket használatával létrehozott portletét elég kihívás lesz. És bármilyen nehéz feladat végrehajtása valamilyen módon megvalósításnak tekinthető. Ez lesz a portletünk témája: megjelenít egy bizonyos eredményt az oldalon megjelenő szöveg formájában. A teljesítményre vonatkozó információkat a portlet szerkesztési módja tölti ki az a személy, aki hozzáadja a portletet az oldalhoz, és a jövőben emlékeztetni fogja a sikert.

Felkészülés a fejlesztésre

A fejlesztés megkezdéséhez a következőket kell telepíteni és konfigurálni:

Csomagolja ki a kép tartalmát, például a /home/user/liferay/liferay-portal-6.0.6 mappa (a továbbiakban - LIFERAY_HOME). Aztán, ahogy a portál szerver lesz valami hasonló /home/user/liferay/liferay-portal-6.0.6/tomcat-6.0.29 (a továbbiakban - LIFERAY_TOMCAT_HOME).

Csomagolja ki a kép tartalmát, például a /home/user/liferay/liferay-plugins-sdk-6.0.6 mappa (a továbbiakban - LIFERAY_SDK_HOME).

3. Nem kötelező, de kívánatos elem a Liferay IDE - egy plug-in az Eclipse-hez. Megtalálható például az Eclipse Marketplace-ben. Ez a plug-in segít csökkenteni a rutin műveletek elvégzésének idejét.

Állítsa be a fejlesztői környezetet

Nos, vallja be, telepítette Liferay IDE-t az Eclipse-hez? Tedd? Jól van! Azt hiszem, képes lesz arra, hogy ezt a teljesítményt portletként tükrözze, miután kifejlesztettük.

De mindennek megvan az ideje, de mostantól figyeljen a panelre, amelyen három kék gomb jelenik meg az Eclipse-ben a plug-in telepítése után:

Először is meg kell mondani a LIferay IDE-t, ahol a Plugins SDK található:

  • Hívja a panel bal gombjainak a helyi menüjét, válassza ki az "Új Liferay SDK" elemet.
  • Adja meg azt a könyvtárat, amelyen az SDK található a megjelenő "Hely" mezőben. A mi esetünkben ez LIFERAY_SDK_HOME.
  • Zárja be a "Prerefences" tulajdonságablakot az "OK" gombra kattintva.

Hozzáadunk egy kiszolgálót a Liferay Eclipse futtatásához:

  • A gombok harmadának helyi menüjében válassza ki az "Új Liferay-kiszolgáló" elemet.
  • A megjelenő ablakban válassza ki a Liferay indításához használt kiszolgáló típusát. Jelen esetben ez a "Liferay v6.0 CE kiszolgáló (Tomcat 6)". Nyomja meg a "Tovább" gombot.
  • A "Liferay Tomcat könyvtárban" mezőbe írja be a Liferay indításához használt Tomcat-kiszolgáló elérési útját, vagyis a mi esetünkben a LIFERAY_TOMCAT_HOME értékét.
  • Nyomjuk meg a "Befejezés" gombot.

Mi a teendő, ha nem tudom telepíteni a plug-inet? Talán az irodádnak problémái vannak az interneten, vagy csak utálom telepíteni a plug-ineket? Nem számít! Csak tegye a következőket:

  • Hozzon létre a build.user.properties fájlt a LIFERAY_SDK_HOME könyvtárban, ahol a felhasználó az operációs rendszer felhasználójának neve, egy sorral:
Természetesen $ helyett a LIFERAY_TOMCAT_HOME értéket kell írni, azaz a Liferay indításához használt Tomcat kiszolgálói könyvtár elérési útját.

  • Adjon hozzá egy kiszolgálót a LIFERAY_TOMCAT_HOME-tól, mint egy normál Tomcat-kiszolgálót az Eclipse-ben.
  • Miután a kiszolgáló megjelenik a "Szerverek" lapon, válassza a "Megnyitás" lehetőséget a kiszolgáló helyi menüjében.
  • A megnyíló kiszolgálóbeállítások ablakában meg kell változtatni a következőket:
    • A "Szerver helyek" szakaszban válassza a "Tomcat telepítése" lehetőséget.
    • Az alábbi "Elhelyezés útvonala" mezőben adja meg a $ / webapps mappa elérési útját.
    • A "Kiadás" szakaszban válassza a "Soha ne tegyen közzé automatikusan" lehetőséget.
    • Mindkét időzítés "Időzítések" szakaszában ("Start (másodpercben)" és "Stop (másodpercben)") adja meg a 300 másodperces értéket.
    • Kattintson a "Megnyitás indításának megnyitása" linkre, és a megjelenő ablakban az "Argumentumok" lapon adja meg a következő további érveket a JVM indításához:

Ez egy kalapos ügy. Most már elindíthatja és leállíthatja a Liferay-t is.

Beállítása fejlesztési környezetre, amennyiben azokat nem Tomcat'ovskaya szerelvény Liferay Portal nem lesz olyan egyszerű, mint a fent leírt - mind a Liferay IDE az Eclipse plug-in, és nélküle. Ezen túlmenően, a használata a szerveren, amellett, hogy a Tomcat, itt a fejlesztési tele van bizonyos korlátozásokat (például, hogy csökkenne a képesség a hibakeresés portletek). Néhány tipp a fejlesztés megszervezéséhez a nem Tomcat-összeállítás Liferay segítségével például itt olvasható.

Tehát eljött az ideje - hoztuk létre portletprojektünket.

Hozzon létre egy portletet a Liferay IDE for Eclipse használatával

  • Kattintson a Liferay IDE panel "Az új Liferay bővítményprojekt létrehozása" első gombjára.
  • A megjelenő ablakban:
    • Adja meg a "projekt neve" mezőben az "eredményeket".
    • Adja meg az "Achievement" értéket a "Display name" mezőben.
    • Mivel a projekt típusa ("Plugin Type" mező) válassza a "Portlet" lehetőséget.

Ennek eredményeképpen a portletprojekt létrehozásának ablaka így fog kinézni:

Portál létrehozása liferay-hez a wicket használatával

  • Miután rákattintott a "Befejezés" gombra, a projektünk elkészül.

Portlet létrehozása a Liferay IDE for Eclipse segítségével

Egy kicsit bonyolultabb. De aztán, néha szeretne létrehozni egy portlet így például, ha azt szeretnénk, hogy tárolja a projekt valahol, amellett, hogy az egyik mappák Liferay Plugins SDK (ami itt IDE plug-in igényel kötelező jelleggel). A következő algoritmus végrehajtása a meghatározott cél eléréséhez vezet:

  • Menjen a $ / portletekhez, és hozzon létre egy projektet a parancs segítségével

attól függően, hogy mely parancsok működnek az operációs rendszeren.

  • A projektet hozzáadjuk az Eclipse-hez a "Liferay IDE for Eclipse" plug-in segítségével. Ehhez:
    • Válassza a "File"> "New"> "Dynamic Web Project" menüpontot. A projekt neve ("Projekt neve") adja meg az elérési portletet, távolítsa el a "Alapértelmezett hely használata" jelölőnégyzetet.
    • Adja meg a projekt helyét a "Hely" mezőben.
    • Adja meg a célszervert ("Target runtime") és a webmodul verzióját ("Dynamic web module version") a projektünkhöz, kattintson a "Next" gombra.
    • A következő lapon törölje a régi forrás könyvtárat a "Forrás mappák az elérési út" mezőben, és adja hozzá a docroot / WEB-INF / src fájlt. Az "Alapértelmezett kimeneti mappa" mezőbe írja be a docroot / WEB-INF / osztályokat. Kattintson a "Tovább" gombra.
    • A "Tartalomjegyzék" mező következő lapján írja be a docroot parancsot. Törölje a jelölőnégyzetet a "Web.xml telepítési leírása létrehozása" jelölőnégyzetből.
    • Kattintson a "Befejezés" gombra.
  • A fordítási hibák elkerülése érdekében a projekt tulajdonságaiban a következő könyvtárakat kell megadni a "Java Build Path" -> "Könyvtárak" lapon:
    • A Tomcat könyvtár a Liferay (a LIFERAY_TOMCAT_HOME útvonalon található) futtatásához használt.
    • A következő könyvtárak, amelyek az $ / webapps / ROOT / WEB-INF / lib útvonalon találhatók:
      • commons-logging.jar
      • util-java.jar
      • util-taglib.jar
      • util-bridges.jar

Ennek eredményeképpen megkapjuk

Ennek eredményeként a teljesítmény-portletprojektünk a következő struktúrával fog rendelkezni:

Portál létrehozása liferay-hez a wicket használatával

A hibák ebben az esetben annak a ténynek köszönhetőek, hogy az Eclipse nem tudta elemezni a JSP fájl szerkezetét. Nem kell aggódnunk, különösen azért, mert még mindig nincs szükségünk erre a JSP fájlra.

A portletet Liferay-re telepítheti az Ant-Task "telepítésével". Miután elindította a Liferay szervert az Eclipse-ből, a portlet hozzá lehet adni a portáloldalhoz, és így fog kinézni:

A teljes boldogsághoz több JAR fájlt is hozzáadunk a projekt lib mappájához:

  • személybejáró 1.4.x.jar
  • személybejáró bővítmények-1.4.x.jar
  • slf4j-api-1.y.z.jar
  • slf4j-log4j12-1.y.z.jar

Az x, y és z helyett helyettesíti azokat a könyvtárak számát, amelyek a legjobban tetszenek. A wicket-extensions-1.4.x.jar könyvtár szükséges számunkra az egyes AJAX funkciók miatt.

Minden, most már lehetséges, és elkezd dolgozni.

Kapcsolódó cikkek