gpt4 book ai didi

java - 在 spring-webflow 2.1 中使用 SPEL 测试空字符串

转载 作者:行者123 更新时间:2023-12-04 06:51:09 24 4
gpt4 key购买 nike

我有一个用例,我想设置我在 session 中保留并添加到 .我在 flowScope 中保留“myModel”

现在我想设置对象 myModel 的 String 属性,如果它是空的,所以我想做这样的事情:

<on-render>
<evaluate expression="if empty(flowScope.myModel.name))
flowScope.myModel.name = myModel.suggestName()" />
</on-render>

其中SuggestName() 是myModel 类的实例方法,它返回一个字符串
SPEL 在评估表达式时告诉我以下信息:
EL1041E:(pos 3): After parsing a valid expression,
there is still more data in the expression: 'empty'

所以我猜 SPEL 不像标准 EL 那样知道函数“空”(例如检查空字符串)

在 Spring 手册(6.5.9 函数)中,我读到我可以注册自己的函数。这样我就可以注册一个 emptyString 函数并将其委托(delegate) StringUtils.isEmpty()

我该怎么做?这是正确的方法吗?我可以在 web-flow 手册中阅读如何隐式注册表达式解析器,但如何将函数实际添加到 StandardEvaluationContext 对我来说是个谜。

任何帮助表示赞赏

最佳答案

您应该能够在 String 对象上执行方法,所以试试 flowScope.myModel.name.isEmpty()flowScope.myModel.name.length() == 0
如果失败 flowScope.myModel.name == ""会有同样的效果。

关于java - 在 spring-webflow 2.1 中使用 SPEL 测试空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3116390/

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