我的网络应用程序存在问题。我使用Spring MVC作为控制器。在我的JSP中,我有一个包含多个输入的表单,每个表单都会显示一个String对象的ArrayList的内容,这是一个模型属性,如下所示:
<form>
<c:forEach var="i" begin="0" end="${myArrayListlength}">
<form:input id="line${i}" type="text" value="${myArrayList[i]}" />
</c:forEach>
</form>
问题是ArrayList的某些元素(理论上甚至所有元素)都可能为空。显示非空字符串的输入工作正常,对应于空字符串的输入显示所有ArrayList元素的串联。假设ArrayList包含4个元素,“Joe”,“Mark”,“”,“Bob”。表单将显示以下内容:
Joe
Mark
Joe,Mark,,Bob
Bob
我已经尝试过任何可以获得正确空白输入的地方,但是徒劳无功。我试图在属性中使用三元表达式,比如
value="${not empty myArrayList[i] ? myArrayList[i] : ''}"
但没有用。
提前感谢所有帮助我了解这一点的人。
答案 0 :(得分:0)
正如Jack Flamp所说,从Spring形式切换到普通形式是神奇的。现在一切顺利,无需三元运算符或其他奇怪的修复。