gpt4 book ai didi

java - 使用SpringMVC形式:select to bind comma separated values to multiple dropdown lists

转载 作者:行者123 更新时间:2023-11-30 04:32:30 25 4
gpt4 key购买 nike

我正在设计一个 jsp 页面,用户可以从下拉列表中选择值,例如:

第 1 行:选择“下拉菜单”

第2行:选择“下拉菜单”

第3行:选择“dropdown1”“dropdown2”

地点:

下拉值为 {1,2,3,4,5,6,7}

用户可以从上面的行中选择值并保存表单。下次用户查看页面并从数据库检索保存的值时,我想将它们显示在下拉列表中。为了我使用Spring MVC形式:选择自动绑定(bind)

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

代码对于 Row1 和 Row2 来说效果很好,它们只有 1 个下拉列表可供绑定(bind)。但对于 Row3 来说,Mappings[${index}].userSetting 返回类似“2,3”的值(而不是单个值),这些值来自 dropdownValues 列表,但以逗号分隔。在这种情况下,出于显而易见的原因Spring MVC form:select 无法从下拉列表中选择值,因为在任一下拉列表中都找不到“2,3”。我想做的是分割这些值,以便从“2,3”中选择值“2”和“3”,使得 Row3 看起来像:

之前:选择“dropdown1”“dropdown2”之后:选择“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>

关于java - 使用SpringMVC形式:select to bind comma separated values to multiple dropdown lists,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14322390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com