2011-10-18 63 views
10

使用EL可以施放嗎?用表達式語言鑄造

我有一輛汽車,另外兩輛汽車和公共汽車延伸車輛。 我正在尋找所有車輛,並且有一些數據在公共汽車上有,但在汽車中沒有。

因此,我試圖從汽車展示汽車時的情況,以及汽車上的東西。

我該怎麼做,Cast,instanceof?我該怎麼做,因爲我有點迷失在這裏。

感謝

+0

我會用}這種做。 – Jay

+0

我想這樣做,以顯示總線的一些數據,例如在EL中,而不是在Java – pringlesinn

回答

9

您可以使用${obj.class.simpleName == 'Car'}但它不是事的事最好做。

也許你可以有一個geType()抽象方法,並用它來區分。例如:

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

如果總線有一個香水,如果只有總線有它的方法我怎麼會顯示,我的意思是,我將如何顯示該屬性的值。 – pringlesinn

+0

'getType()'與'instenceof'相同,與'.simpleName'相同。你做一個'if'來檢查。 – Bozho

+0

由於我仍然有點迷茫,你是否介意給我一個如何從公共汽車獲取某些屬性的例子? – pringlesinn

-3

您將通過從車輛類延伸汽車和公共汽車(因爲車輛將是父級)來實現。 對於實例

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 
    } 
} 

現在你可以檢查,同時啓動它們或獲得該天氣是不使用}這種關鍵字的車輛的一個實例。

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

我想使用表達式語言從JSF頁面訪問它 – pringlesinn