首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在spring-webflow 2.1中使用SPEL测试空字符串

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

Stack Overflow用户
提问于 2010-06-25 15:53:25
回答 1查看 9.5K关注 0票数 2

我有一个想要设置字段的值的用例,该字段保留在会话中,并已添加到。我将'myModel‘保存在flowScope中

现在我想设置一个myModel对象的字符串属性,如果它是空的,所以我想这样做:

代码语言:javascript
复制
<on-render>
    <evaluate expression="if empty(flowScope.myModel.name)) 
           flowScope.myModel.name = myModel.suggestName()" />
</on-render>

其中suggestName()是myModel类的实例方法,它返回一个字符串SPEL在计算表达式时告诉我以下内容:

代码语言:javascript
复制
EL1041E:(pos 3): After parsing a valid expression,
there is still more data in the expression: 'empty'

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

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

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

任何帮助我们都将不胜感激

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-06-25 18:16:19

您应该能够在String对象上执行方法,因此尝试使用flowScope.myModel.name.isEmpty()flowScope.myModel.name.length() == 0

如果失败了,flowScope.myModel.name == ""也会有同样的效果。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3116390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档