java – 可能不存在的属性的JSP bean标记

在JSP中,我可以使用标记来引用bean的属性
${} object.property

有没有办法处理可能不存在的属性我有一个需要处理不同类型的JSP页面.例:

public class Person {
    public String getName()
}
public class Employee extends Person {
    public float getSalary()
}

在JSP中,我想显示一个包含名称和工资列的人员表.如果该人不是雇员,则工资应为空白.行HTML可能如下所示:

<tr>
    <td><c:out value="${person.name}"></td>
    <td><c:out value="${person.salary}"></td>
</tr>

不幸的是,如果某人不是员工,那么就找不到薪水而且会发生错误.我如何在JSP中解决这个问题?

编辑:是否有JSP标签语言检查实例?

解决方法

只需使用EL空操作符,如果它是一个作用域属性,不幸的是你必须使用employee.salary和< c:catch>来包围你的表达式:
<c:catch var="err">
    <c:out value="${employee.salary}"/>
</c:catch>

如果您确实需要instanceof,可以考虑使用自定义标记.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...