当EL变量不为空时,给它添加前导空格。

问题描述 投票:1回答:1

当我添加${参数}并且它存在时,是否有一种更优雅的方法来添加前导空格?

例子:我想创建一个消息给用户,根据我的对象的状态,它可能有一个序列号或没有。

Should this carrier be removed from it's parent container (${container.name} ${container.serialNumber})?

当序列号存在时,它看起来很好,当序列号不存在时,名称和括号之间有一个空格。

目前我想避免这种情况,添加一些类似于 ${not empty container.serialNumber?' ':''} 前。

这样会增加代码的杂乱性,不一定能让代码更易读。另一种方案是在后台网站上增加空间,但这样会把前端和后台的逻辑混在一起。

还有其他建议吗?

先谢谢你了。

jsp el
1个回答
2
投票

稍微改进一下,可以把表达式写成这样。

${empty container.serialNumber?'':' '}

...但这实际上需要一个自定义的EL函数。要创建一个函数,请看 EL标签信息.

如果你不想写一个自定义的EL函数,你可以一直在你的 container 模型来获取格式化的字符串。

© www.soinside.com 2019 - 2024. All rights reserved.