首页 > 解决方案 > 通过检查空字段在输出时将 JSP 变量连接为字符串

问题描述

我想按以下顺序打印地址,我能够做到。我的问题是对于某些用户来说,一些地址字段为空,然后它像这样打印(1804 E Broadway,,,223344),而且我想将地址分成几行。

<td>${addr1 }, ${addr2 }, ${postalCode }</td>

标签: htmljspel

解决方案


您可以通过 3 种方式实现您的要求:

1. JSP EL

 <!-- here I am using adjacent EL expression because string concat will not work here and if we put EL expression in new line one space is adding-->
 <td>${addr1 }${empty addr1? '': ','} 
 ${addr2 }${empty addr2? '': ','} 
 ${postalCode }</td>

2. JSTL

<c:if test="${not empty addr1}">
   ${addr1},
</c:if>

3.在JSP中使用java代码

我不会推荐这种方法,因为不鼓励在 JSP 中编写 java 代码。

<%= (addr1 != null && addr1 !="") ? addr1 +",": "" %>

推荐阅读