2012-12-21 11 views
5

Kiedy opracowałem swój portlet i kiedy napisałem swoją stronę jsp, użyłem:Błąd w moim taglib <% @ taglib prefix = "portlet" uri = "http://java.sun.com/portlet_2_0"%>

<%@ taglib prefix="portlet" uri="http://java.sun.com/portlet_2_0"%> 

ale Eclipse pokazuje mi błąd informujący, że to nie może znaleźć deskryptora lib tagu dla http://java.sun.com/portlet_2_0.

Jak mogę rozwiązać ten problem wihtout użyciu plików TLD?

+0

Dlaczego nie chcesz mieć wymaganego pliku tld na swoim projekcie? Czy Twój projekt działa, jeśli wdrożysz swój portlet? –

+0

Chcę tylko przy użyciu specyfikacji portletu 2.0 bez potrzeby istnienia pliku tld liferay, jeszcze go nie wdrożyłem – waelbk

+0

Gdzie jest plik .tld dla tego identyfikatora URI? – nitind

Odpowiedz

0

Można pobrać portlet-2.0.jar i dodać go do ścieżki projektu. Ale jeśli pracujesz nad Liferay, poleciłbym ci korzystanie z liferay-portlet.tld, który ma specyfikację portletu 2.0.

4

W moim przypadku używam Liferay Portal, tak aby uniknąć tego błędu zmieniłem:

<%@ taglib uri="http://java.sun.com/portlet_2_0"% prefix="portlet"> 


do

<%@ taglib uri="/WEB-INF/tld/liferay-portlet.tld" prefix="portlet" %> 


oraz w pliku "WEB-INF/liferay-plugin -package.properties"; I dodaje ten wiersz

portal-dependency-tlds=/WEB-INF/tld/liferay-portlet.tld 

który jest sugerowany przez pracowników Liferay (Link)

2

Jeśli dodać to do web.xml w WEB-INF folderu usunie komunikat błędu Eclipse.

<web-app> 
    <taglib> 
     <taglib-uri>http://java.sun.com/portlet_2_0</taglib-uri> 
     <taglib-location>/WEB-INF/tld/liferay-portlet.tld</taglib-location> 
    </taglib> 
</web-app> 

Mam nadzieję, że to pomaga.

0

Ten błąd oznacza, że ​​Eclipse nie może znaleźć deskryptora biblioteki znaczników (TLD), który rozwiązuje podany identyfikator znacznika tagu (http://java.sun.com/portlet_2_0). Możesz pobrać TLD odpowiadający kontenerowi portalu (Gatein, Pluto, Liferay, itp.) Z GitHub i umieścić go w folderze WEB-INF. Specyficzne dla Gateina tld można znaleźć here. Upewnij się również, że w ścieżce projektu znajduje się jar portletu 2.0.

1

Usuń linię

<%@ taglib uri="http://java.sun.com/portlet_2_0"% prefix="portlet"> 

i wklej ten wiersz:

<%@taglib uri="http://java.sun.com/portlet" prefix="portlet"%> 

Następnie w WEB-INF/tld folderze umieścić te pliki: aui.tld, liferay-portlet.tld, liferay-portlet-ext.tld, liferay-security.tld, liferay-theme.tld, liferay-ui.tld, liferay-util.tld.

Powiązane problemy