表达式语言未正确显示空 ArrayList 元素(Spring MVC 控制器)

Expression language not properly displaying empty ArrayList elements (Spring MVC controller)

我的网络应用程序有问题。我使用 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] : ''}"

但没用。

提前感谢任何能帮助我阐明这一点的人。

正如 Jack Flamp 所建议的那样,从 Spring 形式转换为普通形式产生了魔力。现在一切正常,不需要三元运算符或其他奇怪的修复。