我正在使用 Spring webflow,我需要从表单中获取字符串列表并绑定到列表。问题是,字符串可能包含逗号,而我目前的方法无法处理。支持对象包含一个List<String>
被调用的values
. 我的表单的基本结构如下所示:
<form:form commandName="backingObject" id="listForm">
<form:hidden path="values" id="listInput"/>
</form:form>
<script type="text/javascript">
var valuesArray= ["foo", "bar,baz"];
$('listInput').value = valuesArray;
$('listForm').submit();
</script>
问题是,当将数组放入输入中时,javascript 只是对其进行字符串化,因此所遇到的值是just "[foo,bar,baz]"
,而 Spring 相当合理地将其转换为三个字符串的列表。
我很惊讶没有找到其他有这个问题的人。我在做一些愚蠢的事情吗?我能想到的解决方案是:
- Uri 在将值放入数组之前对其进行编码,并在支持对象中取消转换。感觉脆弱和笨拙,并且当 Java 端的其他东西与支持对象交互时会使事情变得困难。
- 制作一个自定义转换器,并在制作输入值时在 javascript 中做一些更有趣的事情。我猜这是“正确”的答案,但我不清楚如何进行。可能我只需要彻底阅读 webflow 文档。:D
- 就像,为列表中的每个值即时进行复选框输入,同时挥动我的手臂并大喊“haaaaaaaaack!”。
建议?谢谢!