我正在使用Spring Web,我的JSP有一个我绑定到List的inputText,因为我可以设置很多inputText。 问题是,如果我有一个类似" yyyyMMdd hh:mm:ss,SSS"的inputText。我得到了一个包含两个元素的列表:" yyyyMMdd hh:mm:ss"和#34; SSS",当我想得到一个包含所有文本的时候。为什么呢?
答案 0 :(得分:0)
这是Spring中绑定工作方式的默认行为。如果你只有一个输入,并且有一个包含该输入逗号的值,Spring会将其转换为该属性的值列表。
假设你有:
<input type="hidden" name="fields" value="Hi, SO">
DTO中属性List<String> fields
的映射将设置为[&#34;嗨&#34;,&#34; SO&#34;]。
为了解决这个问题,您可以在包含实际值的字段之前为该字段添加额外的空输入。
<input type="hidden" name="fields" value="">
这会将fields
中的值设置为[&#34;&#34;,&#34;嗨,SO&#34;],您可以相应地处理逻辑中的空字符串。