2011-12-08 33 views
5

Vì vậy, tôi đang cố gắng thực hiện thẻ tùy chỉnh trong môi trường JSF 1.2 bằng JSP 2.0. Cuối cùng tôi đang cố gắng chuyển một đối tượng java như một thuộc tính với EL, nhưng tôi đã nhận được một ngoại lệ "org.apache.jasper.JasperException: jsp.error.beans.property.conversion". Vì vậy, tôi đã lùi lại một bước và cố gắng để có được một thẻ tùy chỉnh đơn giản để hoạt động. Tôi đã thành công trong việc in thế giới hello. Sau đó tôi đã cố gắng chuyển nó thành một thuộc tính String đơn giản và chỉ cần in nó. Điều này không hoạt động. Thuộc tính sẽ không in ra màn hình. Văn bản "hello world" tĩnh không chỉ là thuộc tính.JSF 1.2 JSP 2.0 Tệp thẻ tùy chỉnh đơn giản với các thuộc tính

WEB-INF/thẻ/helloworld.tag:

<?xml version="1.0" encoding="UTF-8"?> 
<jsp:root version="2.0" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:ui="http://www.sun.com/web/ui" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"> 
    <jsp:directive.attribute name="message" required="true"/> 
    <ui:staticText id="asdf" text="hello world: #{message}"/> 
</jsp:root> 

MyBean.jsp sau đó xác định không gian tên tag: xmlns: tags = "urn: jsptagdir:/WEB-INF/thẻ" và sau đó gọi thẻ như vậy:

<tags:helloworld message="Test message"/> 

Tôi đang sử dụng jboss 4.0.4 để triển khai tệp chiến tranh.

+1

@Sam: đó là tốt mà bạn đặt một bounty về điều này, nhưng bạn hoàn toàn tích cực mà bạn đã ** chính xác ** vấn đề tương tự như OP? 'Xmlns: ui =" http://www.sun.com/web/ui "' trong đoạn mã của OP cho biết rằng anh ta đang sử dụng thành phần [Woodstock] (http://stackoverflow.com/tags/woodstock/info) khó xử thư viện đã chết cách đây nhiều năm. Điều này là dành cho tôi (và nhiều khả năng cũng có nhiều người khác) lý do để bỏ qua câu hỏi này khi tôi không biết gì về nó. – BalusC

+0

@BalusC, Ah, tôi có thể có một vấn đề khác rồi. –

+0

Bạn đã cố gắng hiển thị thuộc tính thư này theo các cách khác nhau và nó không hoạt động? hoặc chỉ là ? – engma

Trả lời

0

Cố gắng thiết lập rtexprvalue = "true" trong "thông báo" thuộc tính ví dụ:

<jsp:directive.attribute name="message" required="true" rtexprvalue="true"/> 
Các vấn đề liên quan