2012-06-06 20 views
8

Hi Tôi vừa tạo thẻ tùy chỉnh được sử dụng trong JSP tôi Các .TLD của thẻ là một cái gì đó như thế nàyPassing biểu thức để tùy chỉnh thẻ trong JSP

<?xml version="1.0" encoding="UTF-8"?> 
<taglib> 
<tlibversion>1.0</tlibversion> 
<jspversion>1.1</jspversion> 
<shortname>acma</shortname> 
<info>AccountManag</info> 
<tag> 
    <name>clookup</name> 
    <tagclass>taglib.acm</tagclass> 
    <info>Customer Lookup</info> 
    <attribute> 
     <name>cust_id</name> 
     <required>true</required> 
    </attribute> 
</tag> 
</taglib> 

Bây giờ thẻ hoạt động tuyệt vời khi tôi sử dụng nó với một giá trị int như vậy Cust_ID = "1"

<dd:clookup cust_id="1"></dd:clookup> 

nhưng nó không làm việc khi tôi sử dụng EL .với nó như

<dd:clookup cust_id="${sessionScope.cust.id}"></dd:clookup> 

Tất cả các hướng dẫn bắt đầu bằng int hoặc kiểu dữ liệu khác vì vậy tôi không thể định vị bất kỳ tài nguyên nào có thể trợ giúp ở đây .. bất kỳ đề xuất nào?

Trả lời

17

Chỉ định rtexprvalue trong TLD của bạn:

<attribute> 
    <name>cust_id</name> 
    <required>true</required> 
    <rtexprvalue>true</rtexprvalue> 
</attribute> 

Xem Tag Library Descriptors để biết thêm chi tiết.

+0

thanx, bro! nó giúp! –

0

EL của bạn cần được đính kèm trong dấu ngoặc kép.

+0

Đó là cách tôi đã thử. Cảm ơn đã chỉ ra điều đó. Nó vẫn không hoạt động – MistyD

+0

Nó nói rằng nó không hỗ trợ các biểu thức thời gian chạy – MistyD