Недавно я столкнулся с проблемой, когда мне нужно пройти в группе объектов в проекте. В прошлом я встречался только случаи, когда был передан один объект, несколько объектов или набор массивов. Редко можно было увидеть, передается ли группа объектов. Поэтому это кажется немного сложным, когда вы сталкиваетесь с этой проблемой. Я думал, что было бы возможно решить это таким образом.
@Requestmapping ("save1") public void said save1 (план плана, список <planitem> planitems, httpservletresponse response) {// todo more ... addmessage (response, message_type_success, null, message_success);};};};};};};};};Но позже я узнал, что я был слишком глуп и наивно. Этот метод вообще не может связывать параметры. Некоторые люди говорят, что весна должна пожертвовать частью своей работы по сравнению с стойками. Но у меня нет исследований весны и стойки, я просто использую его как инструмент. Итак, я действительно не знаю почему. Пройдя далеко, вернемся к теме. Есть другие решения онлайн. Вот как
открытый класс PersonList {Private List <Person> Person; Общественный список <derson> getPerson () {return Person; } public void setperson (список <person> person) {this.person = person; }} В контроллере:
@Requestmapping (value = "xxx", method = requestmethod.post) public void test (Personlist Person) {// транспорт человек}} Страница должна быть написана так:
<form id = "form" action = "test/test.do" method = "post"> <input type = "text" name = "person [0] .username" value = "jobs"/> <input type = "text" name = "person [0] .age" value = "55"/> <br/> <input type = name "name =" person [1]. name = "person [1] .age" value = "21"/> <br/> <input type = "propect"> <form>
Но я попробовал этот метод, но он все еще не сработал. Я не знаю, слишком ли я глуп или почему.
После многих поворотов было найдено другое решение. Передайте строку JSON объекта List в фон. После фона получает параметры. Затем преобразуйте JSON в объект. Передний код освобожден, фоновый код заключается в следующем.
@Requestmapping ("save") public void said (план плана, String planitemjson, httpservletresponse) {list <planitem> parsearray = json.parsearray (planitemjson, planitem.class); // Тодо, что вы хотите AddMessage (ответ, message_type_success, null, message_success);}Но есть небольшая проблема с этим, то есть строка JSON будет автоматически добавлена с двойными кавычками в разделе ключа в предыдущем разделе. При декодировании в фоновом режиме двойные цитаты сбежаются как «»; », поэтому вам также нужно преобразовать« »;»; »;»; »;»; »; двойные цитаты. То есть окончательный код
@Requestmapping («Сохранить») public void said (план плана, string planitemjson, httpservletresponse response) {planitemjson = planitemjson.replaceall ("", "/" "); list <lanitem> parsearray = json.parsearray (planitemjson, planitem.class); Message_type_success, null, message_success);}После тестирования этот метод также работает для объектов списка и объектов списка.
PS: Чтобы повысить надежность программы, вы можете проверить JSON после выхода из объектов JSON, что позволяет избежать ошибок в JSON, обращающихся к объектам Java.
Или используйте более жестокий метод для выполнения операций Try Catch Operation, когда JSON превращается в список.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.