2012-12-21 26 views
5

Khi tôi phát triển portlet của mình và khi tôi viết trang jsp tôi đã sử dụng:Lỗi trong taglib của tôi <% @ taglib prefix = "portlet" uri = "http://java.sun.com/portlet_2_0"%>

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

nhưng nhật thực hiển thị lỗi cho tôi biết rằng nó không thể tìm thấy mô tả thẻ tag cho http://java.sun.com/portlet_2_0.

Làm cách nào để giải quyết vấn đề này bằng cách sử dụng tệp tld?

+0

Tại sao bạn không muốn có tệp tld bắt buộc trong dự án của mình? Dự án của bạn có hoạt động nếu bạn triển khai portlet của mình không? –

+0

Tôi chỉ muốn sử dụng đặc tả portlet 2.0 mà không cần tệp tld liferay, tôi chưa triển khai nó – waelbk

+0

Đâu là .tld cho URI đó? – nitind

Trả lời

0

Bạn có thể tải xuống portlet-2.0.jar và thêm nó vào đường dẫn dự án của bạn. Nhưng nếu bạn muốn phát triển Liferay, tôi khuyên bạn nên sử dụng liferay-portlet.tld có đặc tả portlet 2.0.

4

Trong trường hợp của tôi, tôi đang sử dụng Liferay Portal, vì vậy để tránh lỗi này tôi đã thay đổi:

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


để

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


và trong hồ sơ "WEB-INF/liferay-plugin-package.properties"; Tôi đã thêm dòng này

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

được đề xuất bởi đội ngũ nhân viên Liferay (Link)

2

Nếu bạn thêm video này vào web.xml trong thư mục WEB-INF thư mục nó sẽ loại bỏ các thông báo lỗi 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> 

Hy vọng điều đó sẽ hữu ích.

0

Lỗi này chỉ có nghĩa là Eclipse không thể tìm thấy bộ mô tả thư viện thẻ (TLD) để giải quyết URI thẻ (http://java.sun.com/portlet_2_0) đã cho. Bạn có thể tải xuống TLD tương ứng với vùng chứa cổng thông tin của bạn (Gatein, Pluto, Liferay, vv) từ GitHub và đặt nó trong thư mục WEB-INF. Gatein cụ thể tld có thể được tìm thấy here. Ngoài ra, hãy chắc chắn rằng bạn có bình portlet_2.0 trong đường dẫn dự án của bạn.

1

Tháo dòng

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

và dán dòng này:

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

Sau đó, trong thư mục WEB-INF/tld đặt những tập tin này: aui.tld, liferay-portlet.tld, liferay-portlet-ext.tld, liferay-security.tld, liferay-theme.tld, liferay-ui.tld, liferay-util.tld.