私は最近、プロジェクトのオブジェクトのグループを渡す必要がある問題に遭遇しました。過去には、1つのオブジェクト、複数のオブジェクト、または配列のセットが渡された場合のみ遭遇しました。オブジェクトのグループが渡されるかどうかを確認することはまれです。この問題に遭遇すると少し注意が必要です。このように解決することは可能だと思いました。
@RequestMapping( "save1")public void save1(計画計画、リスト<planitem> planitems、httpservletresponse応答){// todo more ... addmessage(response、message_type_success、null、message_success);}しかし、後で私はあまりにも愚かで素朴であることがわかりました。この方法は、パラメーターをまったくバインドできません。一部の人々は、春がストラットと比較してそのパフォーマンスの一部を犠牲にしなければならないと言います。しかし、私は春とストラットに関する研究はありません。私はそれをツールとして使用するだけです。だから、私は本当に理由がわからない。遠くまで、トピックに戻ります。オンラインで他のソリューションがあります。これがその方法です
public class personlist {private list <person> person; public list <person> getPerson(){return person; } public void setPerson(list <person> person){this.person = person; }}コントローラーで:
@RequestMapping(value = "xxx"、method = requestmethod.post)public void test(personlist person){// transipate person}}}ページは次のように書く必要があります:
<form id = "form" action = "test/test.do" method = "post"> <input type = "text" name = "person [0] .username" value = "jobs"/> <入力タイプ= "text" name = "person" .age "value" value = " name = "person [1] .age" value = "21"/> <br/> <input type = "submit"> <form>
しかし、私はこの方法を試しましたが、それでもうまくいきませんでした。私があまりにも愚かであるのか、それともなぜかはわかりません。
多くのひねりとターンの後、別の解決策が見つかりました。リストオブジェクトのJSON文字列を背景に渡します。背景がパラメーターを受信した後。次に、JSONをオブジェクトに変換します。フロントエンドコードは免除され、背景コードは次のとおりです。
@RequestMapping( "Save")public void save(plan plan、string planitemjson、httpservletresponse Response){list <planitem> parsearray = json.parsearray(planitemjson、planitem.class); // dodo addmessage(response、message_type_success、null、message_success);}しかし、これには小さな問題があります。つまり、JSON文字列は、前のセクションのキーセクションに二重引用符で自動的に追加されます。バックグラウンドでデコードするとき、二重引用符は ""; "として逃げられます。したがって、" ";"も変換する必要があります。引用符を2倍にする。つまり、最終コードはです
@RequestMapping( "Save")public void save(plan plan、string planitemjson、httpservletresponse Response){planitemjson = planitemjson.replaceall( ""、 "/" "); list <planitem> parsearray = json.parsearray(planitemsemsemsem. udtem.planiTem.planiTemsemsemsemsemsems. message_type_success、null、message_success);}テスト後、この方法はリストオブジェクトとリストオブジェクトにも機能します。
PS:プログラムの堅牢性を向上させるために、JSONオブジェクトを脱出した後にJSONを検証できます。これにより、JSONのエラーがJavaオブジェクトに向き合うことができません。
または、より暴力的な方法を使用して、JSONがリストになったときにキャッチ操作を試してください。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。