当EL为空时,不要显示空行

时间:2014-08-26 16:24:24

标签: jsp jstl el

在jsp页面中,我有一个文本区域,用户可以在三行输入一个地址,每行保存在树中不同的变量(数据库限制)。当我将用户的价值保存到我的DTO时,一切都运行良好,但当我在编辑表单中显示它们时,我得到空行,我不想要它们

jsp代码:

   <textarea id="address-lines" name="address-lines" rows="3">
${address.line1}
${address.line2}
${address.line3}
    </textarea>

如果只有address.line1有值,我会得到:

---
line 1 value


---

我想只获得

---
line 1 value
---

jstl有可能吗?我应该创建自己的标签吗?

2 个答案:

答案 0 :(得分:1)

它是一个文本区域,它呈现换行符。

在Java层中构造值,并在文本区域中仅使用单个值,例如

Java伪代码

fullAddress = Strings.join("\n", address.line1, address.line2, address.line3);

<强> JSP

<textarea id="address-lines" name="address-lines" rows="3">${fullAddress}</textarea>

答案 1 :(得分:1)

我喜欢Dave的答案,但是如果你无法控制Java源代码,你可以使用JSTL和换行符的html实体来完成这一切。

<c:if test="${not empty address.line1}">${address.line1}&#10;</c:if><c:if test="${not empty address.line2}">${address.line2}&#10;</c:if><c:if test="${not empty address.line3}">${address.line3}&#10;</c:if>