gpt4 book ai didi

jsp - 如何在 JSTL 中检查 isNumeric/isNumber?

转载 作者:行者123 更新时间:2023-12-03 17:44:42 26 4
gpt4 key购买 nike

如何在 JSTL 中做这个简单的检查(不扩展任何 Java 类和额外的 JSP 函数)。我需要这样:

<c:if test="${fn:isNumeric()}">
// do something
</c:if>

提前致谢。

最佳答案

如果您的环境支持在 EL 对象上调用非 getter 方法的新 EL 2.2 功能(在所有 Servlet 3.0 兼容容器中可用,例如 Tomcat 7、Glassfish 3 等),那么您可以使用 String#matches() 直接在EL中的方法。

<c:set var="numberAsString">${someExpressionToTestForNumber}</c:set>
<c:if test="${numberAsString.matches('[0-9]+')}">
It's a number!
</c:if>

(我将不考虑减号 - 以及千位和小数分隔符 ,. 作为可能出现在技术上有效数字中的可能字符)

请注意 <c:set>其主体中的表达式将任何类型隐式转换为 String使用 String#valueOf() .否则 matches()调用 <c:if>对于非 String 会失败类型。

关于jsp - 如何在 JSTL 中检查 isNumeric/isNumber?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13008298/

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