EL变量不为空时添加前导space
Add leading space to EL variable when it is not empty
当我添加 ${parameter} 并且它存在时,是否有更优雅的方法来添加前导 space?
示例:
我想向用户创建一条消息,根据我的对象的状态,它可能有序列号,也可能没有。但我想以任何方式显示这段文字:
Should this carrier be removed from it's parent container (${container.name} ${container.serialNumber})?
当序列号存在时看起来没问题,当序列号不存在时,名称和右括号之间有一个space。
目前我会避免在之前添加类似 ${not empty container.serialNumber?' ':''}
的内容。
这会使代码更加混乱,但不一定会提高代码的可读性。另一种选择是在后端站点上添加 space,但这会混合前端和后端逻辑。
还有其他建议吗?
提前致谢。
稍作改进可能是将表达式写成:
${empty container.serialNumber?'':' '}
..但这确实需要自定义 EL 函数。要创建一个,请参阅 EL tag info.
如果您不想编写自定义 EL 函数,您可以随时向 container
模型添加一个方法来获取格式化字符串。
当我添加 ${parameter} 并且它存在时,是否有更优雅的方法来添加前导 space?
示例: 我想向用户创建一条消息,根据我的对象的状态,它可能有序列号,也可能没有。但我想以任何方式显示这段文字:
Should this carrier be removed from it's parent container (${container.name} ${container.serialNumber})?
当序列号存在时看起来没问题,当序列号不存在时,名称和右括号之间有一个space。
目前我会避免在之前添加类似 ${not empty container.serialNumber?' ':''}
的内容。
这会使代码更加混乱,但不一定会提高代码的可读性。另一种选择是在后端站点上添加 space,但这会混合前端和后端逻辑。
还有其他建议吗?
提前致谢。
稍作改进可能是将表达式写成:
${empty container.serialNumber?'':' '}
..但这确实需要自定义 EL 函数。要创建一个,请参阅 EL tag info.
如果您不想编写自定义 EL 函数,您可以随时向 container
模型添加一个方法来获取格式化字符串。