使用SpringMVC形式:选择以将逗号分隔的值绑定到多个下拉列表
我正在设计一个jsp页面,用户可以在其中从下拉列表中选择值,例如:
第1行:选择“下拉列表”
第2行:选择“下拉列表”
第3行:选择“下拉列表1”,“下拉列表2”
哪里:
下拉值为{1,2,3,4,5,6,7}
用户可以从以上各行中选择值,然后保存表格。下次用户查看页面并从数据库中检索保存的值时,我想在下拉列表中显示它们。为此,我使用Spring
MVC形式:选择自动绑定
<form:select id="${id}" path="Mappings[${index}].userSetting"> <c:forEach var="item" items="${dropdownValues}">
<form:option value="${item.value}"><spring:eval expression="item" /></form:option>
</c:forEach>
</form:select>
该代码对于仅绑定1个下拉列表的Row1和Row2正常工作。但是对于Row3,Mappings [$ {index}]。userSetting返回的值类似于“
2,3”(而不是单个值),该值来自dropdownValues列表,但以逗号分隔。在这种情况下,由于显而易见的原因,Spring MVC
form:select无法从下拉列表中选择值,因为在任一下拉列表中均找不到“ 2,3”。我想做的是拆分值,以便从“ 2,3”中选择值“ 2”和“
3”,以使Row3看起来像:
之前:选择“下拉列表1”“下拉列表2”之后:选择“ 2”“ 3”
有人对如何做到这一点有建议吗?
回答:
您是否考虑过
fn:split()函数。
这是您可以做什么的示例:
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %><c:set var="row3Value" value="${fn:split(model.getMappings()[${index}].userSetting, ',')}" />
<form:select id="${id}" path="Mappings[${index}].userSetting">
<c:forEach var="item" items="${dropdownValues}">
<c:choose>
<c:when test="${row3Value[0] eq ${item.value}}">
<form:option selected="true" value="${item.value}"><spring:eval expression="item" /></form:option>
</c:when>
<c:otherwise>
<form:option value="${item.value}"><spring:eval expression="item" /></form:option>
</c:otherwise
</c:choose>
</c:forEach>
</form:select>
以上是 使用SpringMVC形式:选择以将逗号分隔的值绑定到多个下拉列表 的全部内容, 来源链接: utcz.com/qa/414597.html