使用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

回到顶部