gpt4 book ai didi

java - 使用 EL 对空属性进行快速失败的最简单方法?

转载 作者:行者123 更新时间:2023-12-01 15:28:10 25 4
gpt4 key购买 nike

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

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

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

最佳答案

一种选择是创建您自己的 ELResolver 。您也许可以扩展 ScopedAttributeELResolver并覆盖getValue :

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

为了注册解析器,请创建 ServletContextListener并在 contextInitialized 中执行类似以下操作:

JspFactory.getDefaultFactory().getJspApplicationContext(sce).addELResolver(resolver);

关于java - 使用 EL 对空属性进行快速失败的最简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9918356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com