jsp - 当EL变量不为空时添加前导空格

标签 jsp el

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

示例: 我想向用户创建一条消息,根据对象的状态,它可能有或没有序列号。但无论如何我想显示这段文字:

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

当序列号存在时看起来没问题,当序列号不存在时,名称和右括号之间有一个空格。

目前我会避免在之前添加类似 ${notemptemptcontainer.serialNumber?' ':''} 的内容。

这会给代码带来更多困惑,并且不一定会使其更具可读性。另一种选择是在后端站点上添加空间,但这会混合前端和后端逻辑。

还有其他建议吗?

提前致谢。

最佳答案

一个小小的改进可能是编写如下表达式:

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

..但这确实需要自定义 EL 函数。要创建一个,请参阅 EL tag info .

如果您不想编写自定义 EL 函数,您可以随时向您的容器模型添加一个方法来获取格式化字符串。

关于jsp - 当EL变量不为空时添加前导空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61497528/

相关文章:

javascript - 如何从 JSP 页面中的按钮 onclick 调用 JavaScript 函数

java - Eclipse 之外的 Tomcat 6 上的 JSF PropertyNotFound 异常

escaping - 如何在 JSTL/EL 表达式中同时使用单引号和双引号?

css - 我想把两个 div 放在一个 div 中

java - JSF : Invoke method on returned object of a method

java - Appengine 中的 JSF 2 - EL 表达式

java - JSTL forEach 在自定义标签中不起作用

java - sendRedirect()之后的代码还会被执行吗?

java - jsp/servlet 中的 Web 应用程序 - 使用 fmt 进行本地化 :message

java - HTTP 状态 405 - 使用 jsp 时,此 URL 不支持 HTTP 方法 GET