© Copyright International Business Machines Corporation 2006. Wszelkie prawa zastrzeżone. Ograniczone prawa na rzecz rządu Stanów Zjednoczonych - używanie produktów, tworzenie ich duplikatów oraz ujawnianie informacji o nich podlega zastrzeżeniom zawartym w umowie GSA ADP Schedule zawartej z firmą IBM® Corp.
Podczas tworzenia projektu portletu Struts należy pamiętać, że znaczniki szablonu Struts nie są poprawnie obsługiwane przez narzędzia portletowe Struts.
- Podczas dodawania znacznika szablonów Struts z palety do strony WWW narzędzie niepoprawnie generuje dla użytkownika dyrektywę taglib WWW Struts:
<%@taglib uri="http://jakarta.apache.org/struts/tags-template" prefix="template"%>
zamiast poprawnej dyrektywy taglib szablonu portletu Struts:
<%@taglib uri="http://struts.apache.org/tags-template" prefix="template"%>
Poprawienie dyrektywy taglib dla strony nie rozwiąże problemu, gdyż kolejne dodawanie znaczników szablonu będzie powodowało dodawanie niepoprawnej dyrektywy.- Znaczniki szablonu Struts nie są wizualizowane w Projektancie stron.
Narzędzia portletowe Struts aktualnie nie obsługują programowania portletu ze znacznikami Tiles środowiska Struts, ale udostępniają przykłady portletów ze znacznikami Tiles środowiska Struts (IBM i JSR168), które można zaimportować do obszaru roboczego, aby uzyskać pomoc podczas konfigurowania portletu w celu korzystania ze znaczników Tiles w aplikacji portletu.
Uwaga: Wprowadzanie znaczników Tiles w projekcie portletu Struts może spowodować dodanie aspektu projektu obsługi szablonów dynamicznych (znaczniki Tiles środowiska Struts). Spowoduje to problemy podczas wdrażania portletu. Więcej informacji na ten temat zawiera sekcja dotycząca znanych problemów oraz sposobów ich obejścia.
Podczas importowania przykładu portletu Struts (IBM lub JSR168) do obszaru roboczego, dla zaimportowanych przykładów portletów Struts może wystąpić błąd braku zdefiniowanego docelowego środowiska wykonawczego. W zależności od konfiguracji środowiska roboczego oraz serwera zainstalowanego na komputerze, w projekcie może pojawić się następujący błąd: "Docelowe środowisko wykonawcze WebSphere® Portal, wersja 6.0 nie jest zdefiniowane". Oznacza to, że produktu WebSphere Portal, wersja 6.0, nie ma na liście serwerów środowiska roboczego.
Sposób obejścia:
Przed wprowadzeniem jakichkolwiek zmian w przykładzie należy skonfigurować docelowe środowisko wykonawcze serwera dla projektu:
- Upewnij się, czy odpowiedni serwer docelowy jest dostępny.
- Listę dostępnych serwerów można przeglądać oraz modyfikować, ustawiając preferencje (menu Okno > Preferencje > Serwer > Zainstalowane środowisko robocze).
- Odszukaj pozycję "WebSphere Portal V6.0 stub". Powinna być zainstalowana razem z narzędziami portalowymi produktu. W przeciwnym razie kliknij przycisk Dodaj, aby dodać środowisko WebSphere Portal V6.0 Runtime.
- Wybierz zaimportowany projekt i za pomocą menu kontekstowego włącz okno właściwości projektu.
- Wybierz docelowe środowisko wykonawcze. Powinna być dostępna lista docelowych środowisk wykonawczych, które są zgodne z projektem.
- Kliknij przycisk OK.
- Powtórz te czynności dla projektu EAR zaimportowanego razem z przykładem.
Po ustawieniu docelowego środowiska wykonawczego należy ponownie skompilować projekt, aby usunąć błędy, a następnie wdrożyć go:
- Aby ponownie skompilować projekt, kliknij kolejno opcje: Projekt > Czyszczenie > Wyczyść wszystkie projekty lub Wyczyść wybrane projekty, a następnie kliknij przycisk OK. Uwaga: Niektóre przykłady zawierają błędy.
- Aby wdrożyć przykład, który zawiera błędy, należy ustawić preferencje, zaznaczając pole wyboru Zezwalaj na publikowanie na serwerze aplikacji zawierających błędy (menu Okno > Preferencje > Serwer > WebSphere).
- Kliknij przycisk OK.
- Aby wdrożyć projekt, wybierz go (nie może to być projekt EAR) i kliknij opcje: Uruchom jako > Uruchom na serwerze. Upewnij się, czy dla docelowego środowiska wykonawczego wybrany został ten sam typ serwera.
Podczas pracy z portletem ze znacznikami Tiles środowiska Struts może się zdarzyć, że wywołana zostanie instalacja aspektu projektu obsługi szablonów stron dynamicznych (znaczniki Tiles środowiska Struts). Dodawanie aspektu projektu obsługi szablonów stron dynamicznych (znaczniki Tiles środowiska Struts) jest prostym sposobem na pracę ze znacznikami Tiles środowiska Struts w dynamicznym projekcie WWW, ale nie w przypadku projektu portletu Struts. Po jego zainstalowaniu podczas wdrażania wystąpią błędy środowiska wykonawczego. Dodatkowo korzystanie z palety w celu dodania znaczników Tiles do stron JSP portletu Struts spowoduje dodanie niepoprawnej dyrektywy taglib.
Sposób obejścia: Podczas programowania portletu ze znacznikami Tiles środowiska Struts, przed wdrożeniem należy wykonać następujące czynności:
- Określ, czy został zainstalowany aspekt projektu obsługi szablonów stron dynamicznych (znaczniki Tiles środowiska Struts). Można to zrobić, wywołując opcje: Właściwości projektu > Aspekt projektu.
- Jeśli aspekt został zainstalowany, usuń dodatkowe wpisy serwletu i pliku konfiguracyjnego, które zostały dodane do projektu:
- W edytorze deskryptora wdrażania otwórz plik web.xml. Na zakładce Serwlet usuń wpis TilesServlet i zapisz plik.
- W edytorze plików konfiguracyjnych Struts otwórz plik struts-config.xml. Następnie na zakładce Wtyczki usuń wpis org.apache.struts.tiles.TilesPlugin i zapisz plik.
Uwaga: Usunięcie aspektu projektu obsługi szablonów stron dynamicznych (znaczniki Tiles środowiska Struts) ze strony Aspekty projektu nie powoduje usunięcia wspomnianych powyżej wpisów. Najlepiej pozostawić wpis aspektu projektu na liście.- Dla każdego pliku JSP zawierającego znaczniki Tiles należy sprawdzić, czy używana jest dyrektywa taglib dla znaczników Tiles portletu Struts. Jeśli nie (tak jest w przypadku portletów ze znacznikami Tiles środowiska Struts w serwerze WPS V6.0),
- zastąp wpis: <%@taglib uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles"%>
- wpisem: <%@taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>