JSP中的空string []元素

时间:2015-01-12 18:04:33

标签: arrays string spring jsp jstl

我有一个JSP通过Spring控制器填充int []和string []。当索引的字符串值为""时,JSP将呈现字符串[]中的所有值。

Controller填充string [] id&值。
    form.setIds(ids);
    form.setValues(values);

JSP遍历并填充表格     <c:forEach items="${form.ids}" varStatus="status" var="id">
    <form:input path="values" value="${form.values[status.index]}" />

当字符串[]:值包含:{&#34; a&#34;,&#34; b&#34;,&#34;&#34;,&#34; d&#34;}时,元素0,1,3表示预期:0 =&#34; a&#34;,1 =&#34; b&#34;,3 =&#34; d&#34;。元素2显示:&#34; a,b,d&#34;用于输出到该行的JSP。

我尝试了几种渲染方式,例如在JSTL taglib中包装输出,以及更改为数组列表而不是原始字符串[]。

我有一种感觉,我忽略了一些东西:)

2 个答案:

答案 0 :(得分:1)

我认为你的错误存在于其他地方。如果你的数组内容确实是一个空字符串,那么${form.values[status.index]}确实会打印出来。

答案 1 :(得分:0)

这个花了一段时间。

问题是在表单输入上使用path =“values”,当我们点击一​​个空元素时,它会显示所有“值”而不是预期的空值。修复是使用path =“values [$ {status.index}]”作为表单输入。

另外,为了使用元素,我不得不将我的底层表单从使用String []对象切换到List对象。这是因为加载时没有初始化String []值的形式,而我可以初始化为ArrayList而无需为字符串数组指定特定长度。