2011-10-18 51 views
10

Có thể truyền bằng EL không?Truyền bằng Ngôn ngữ Biểu thức

Tôi có một lớp Xe và hai lớp khác Xe hơi và Xe buýt mở rộng Xe. Tôi đang tìm kiếm tất cả các Phương tiện và có một số dữ liệu có trong Xe buýt nhưng không có trong Ô tô.

Vì vậy, tôi đã cố gắng hiển thị mọi thứ từ Ô tô khi đó là Ô tô và mọi thứ từ Xe buýt khi đó là Xe buýt.

Tôi có thể làm như thế nào, Cast, instanceof? Và tôi sẽ làm như thế nào, vì tôi bị lạc ở đây.

Cảm ơn

+0

tôi muốn làm điều đó với instanceof. – Jay

+0

Tôi muốn làm điều đó để hiển thị một số dữ liệu của Bus chẳng hạn như EL, không phải trên Java – pringlesinn

Trả lời

9

Bạn có thể sử dụng ${obj.class.simpleName == 'Car'} nhưng nó không phải là điều tốt nhất để làm.

Có thể bạn có phương pháp trừu tượng geType() và sử dụng phương pháp này để phân biệt. Ví dụ:

<c:forEach items="${vehicles}" var="vehicle"> 
    Reg.No: ${vehicle.registrationPlateNumber} 
    <c:if test="${vehicle.type == 'bus'}"> 
     Toilets: ${vehicle.toilets} 
    </c:if> 
</c:forEach> 
+0

Làm thế nào tôi có thể hiển thị nếu một Bus có một toilette nếu chỉ Bus có phương thức của nó, ý tôi là, làm cách nào để hiển thị giá trị của thuộc tính này . – pringlesinn

+0

'getType()' sẽ giống với 'instenceof' và giống như' .simpleName'. Bạn thực hiện một 'if' để kiểm tra. – Bozho

+0

Như tôi vẫn còn một chút bị mất, bạn sẽ nhớ cho tôi một ví dụ về làm thế nào để đạt được một số thuộc tính từ xe buýt? – pringlesinn

-3

bạn sẽ làm điều đó bằng cách mở rộng xe và xe buýt từ lớp xe (vì xe sẽ là lớp cha mẹ). Ví dụ

public class Vehicle { 
    public void speed(){ 
    // some code 
    } 
} 
public class Car extends Vehicle { 
    public void speed(){ 
    // some code 
    } 
} 
public class Bus extends Vehicle { 
    public void speed(){ 
    // some code 
    } 
} 

bây giờ bạn có thể kiểm tra trong khi khởi xướng họ hay nhận được thời tiết mà nó là một thể hiện của xe không sử dụng từ khóa instanceof.

tức là

if(new car() instanceOf Vehicle){ 
//somecode 
} 
+1

Tôi muốn truy cập từ trang JSF, sử dụng Ngôn ngữ biểu thức – pringlesinn

Các vấn đề liên quan