Java 用表情语言铸造

Java 用表情语言铸造,java,jsf,casting,el,Java,Jsf,Casting,El,是否可以使用EL进行铸造 我有一辆普通车,还有另外两辆普通车和一辆公共汽车。 我正在搜索所有车辆,有一些数据在车内,但在车内没有 所以我试着展示汽车上的东西,当它是汽车的时候,还有公交车上的东西,当它是公交车的时候 我怎么能做到呢,演员,instanceof?我该怎么做,因为我在这里有点迷路了 谢谢您可以使用${obj.class.simpleName=='Car'}但这不是最好的选择 也许您可以使用一个geType()abstract方法来进行区分。例如: <c:forEach item

是否可以使用EL进行铸造

我有一辆普通车,还有另外两辆普通车和一辆公共汽车。 我正在搜索所有车辆,有一些数据在车内,但在车内没有

所以我试着展示汽车上的东西,当它是汽车的时候,还有公交车上的东西,当它是公交车的时候

我怎么能做到呢,演员,instanceof?我该怎么做,因为我在这里有点迷路了


谢谢

您可以使用
${obj.class.simpleName=='Car'}
但这不是最好的选择

也许您可以使用一个
geType()
abstract方法来进行区分。例如:

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

注册号:${车辆注册车牌号}
厕所:${vehicle.厕所}

您将通过从车辆类扩展汽车和公共汽车来实现这一点(因为车辆将是父类)。 比如说

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
   }
}
现在,您可以在启动或获取天气信息时检查车辆是否未使用instanceOf关键字

i、 e


我想使用表达式语言从JSF页面访问它,如果只有总线有它的方法,我如何显示总线是否有厕所,我的意思是,我如何显示该属性的值。
getType()
将与
instenceof
相同,与
simpleName
相同。你做了一个
如果
检查。由于我仍然有点迷路,你介意给我一个如何从公交车到达某些属性的例子吗?非常感谢!!我这样做,但并没有试图运行,因为它说的是“未知财产…”,但它工作正常!我想这样做是为了显示总线的一些数据,例如在EL中,而不是在Java中
if(new car() instanceOf Vehicle){
//somecode
}