We are having an issue with binding a multiple select element when the option values contain commas. 我们尝试绑定到 aString
和 a List<String>
,但两者都有问题。
当发布多选元素时,每个选定选项的值都会在一个单独的请求参数中传递,它们都具有相同的名称。例如,如果选择元素名称为“code”,则参数可能如下所示:
code=ABC
code=A,B
code=XYZ
当绑定到 aString
时,Spring 会自动将这些值连接成一个逗号分隔的字符串。如果一个或多个值包含逗号,这显然是一个问题。
绑定到 aList<String>
时,选择多个选项时一切正常。在这种情况下,Spring 会List
为每个选定的选项创建一个条目。但是如果只选择了一个选项,Spring 会假定该值是一个逗号分隔的列表,并将其拆分为多个条目。
有没有办法告诉 Spring 在绑定到 a 时使用与逗号不同的字符String
?有没有办法告诉 Spring 在绑定到 a 时不要拆分单个值List<String>
?或者还有其他方法可以解决这个问题吗?