私は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 が単にそれを文字列に変換するため、値が正しく"[foo,bar,baz]"
、Spring がそれを 3 つの文字列のリストにかなり合理的に変換することです。
この問題を抱えている人が他にいないことに驚いています。私は骨の折れる何かをしていますか?私が考えることができる解決策は次のとおりです。
- 値を配列に入れる前に Uri エンコードし、バッキング オブジェクトで変換解除します。Java 側の他の要素がバッキング オブジェクトと相互作用すると、脆弱でハッキーに感じられ、物事が困難になります。
- カスタム コンバーターを作成し、入力値を作成するときに JavaScript でより洗練された処理を行います。これが「正しい」答えだと思いますが、どうすればよいかわかりません。おそらく、Webflowのドキュメントを実際に徹底的に読む必要があるだけです。:D
- まるで、腕を振って「はぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁっっっっっっっっっっっっっっっっっっっっっっ!
提案?ありがとう!