Java 使用EL在空属性上快速失败的最简单方法?

Java 使用EL在空属性上快速失败的最简单方法?,java,web-applications,attributes,jstl,el,Java,Web Applications,Attributes,Jstl,El,当EL调用不返回任何内容时,是否可以强制发生异常 我喜欢EL提供的方便的${…}表示法,但我希望对pageContext.findAttribute(…)的每次调用(这就是EL基本上做的IIRC)在没有属性(或包含空字符串的属性)的情况下抛出异常 我可以继续使用EL还是应该使用其他东西?一个选项是创建自己的。您可能可以扩展和覆盖: 要注册冲突解决程序,请在中创建并执行以下操作: public Object getValue(ELContext context, Object base, Obje

当EL调用不返回任何内容时,是否可以强制发生异常

我喜欢EL提供的方便的${…}表示法,但我希望对pageContext.findAttribute(…)的每次调用(这就是EL基本上做的IIRC)在没有属性(或包含空字符串的属性)的情况下抛出异常


我可以继续使用EL还是应该使用其他东西?

一个选项是创建自己的。您可能可以扩展和覆盖:

要注册冲突解决程序,请在中创建并执行以下操作:

public Object getValue(ELContext context, Object base, Object property) {
    Object value = super.getValue(context, base, property);
    if (context.isPropertyResolved() && (value == null)) {
        throw new PropertyNotFoundException("Scoped attribute not found");
    }
    return value;
}
JspFactory.getDefaultFactory().getJspApplicationContext(sce).addELResolver(resolver);