Как связать JSON с Java-объектом в Struts2, используя struts2-json-plugin

Я хочу десериализовать (связать) JSON для Java-объекта. Как это сделать в Struts2?

Я пытаюсь сделать это с помощью struts2-json-plugin, как вы можете видеть в приведенном ниже коде, но отправленный JSON из внешнего интерфейса не привязан к моему объекту java. Не могли бы вы помочь мне, пожалуйста, как заставить этот код работать правильно?

Пожалуйста, взгляните на мой класс действий, я не уверен, если яЯ правильно обрабатываю JSON в этом действии, или, может быть, я что-то пропустил?

JSON, который я пытаюсь связать:

{"data":[
    {"active":true,"color":"orange","date":"2008-01-01","id":1,"name":"Chris"},
    {"active":false,"color":"blue","date":"2013-03-03","id":2,"name":"Kate"},
    {"active":true,"color":"black","date":"2013-05-03","id":3,"name":"Blade"},
    {"active":false,"color":"yellow","date":"2013-01-01","id":4,"name":"Zack"}]
}

Отправка JSON от Ajax:

$.ajax({
  url: "../json/saveJSONDataAction.action",
  data: {"data": handsontable.getData()}, //returns all cells' data
  dataType: 'json',
  type: 'POST',
  success: function (res) {
    if (res.result === 'ok') {
      $console.text('Data saved');
    }
  }
});

Получение JSON в Struts2:

Я могу добраться до метода execute () в отладке, но, к сожалению,data поле всегда равно нулю Что я должен сделать, чтобы заполнить это поле данными из JSON? JSON в правильном формате для привязки?List data

@ParentPackage("json-default")
@Action(value="saveJSONDataAction")
@Result(type="json")
public class JSONSaveAction extends ActionSupport {
    private static final long serialVersionUID = 1L;

    private List data;

    public JSONSaveAction(){
    }

    public String execute() {
        try {
            System.out.println(data);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return NONE;
    }

    public List getData() {
        return data;
    }

    public void setData(List data) {
        this.data = data;
    }
}

Класс отчета:

public class Report {
    private int id;
    private String name;
    private boolean active;
    private String date;
    private String color;

    //getters and setters
}

struts.xml:

Как вы можете видеть здесь, ямы добавили сtrue, Весь конфиг ниже:












    
       
       
    

    
        
        
            
            
            
            
            

            
            
            
                10485760
            
            
            
            
                dojo\..*
            
            
                true
            
            
            
            
            
                save,search
            
            
                save,search
            
            
                save
            
        

    
    

    
        
            exception
            /
        
        /applicationAccessDeniedPage.jsp       
        /applicationAccessDeniedPage.jsp
        /unavailableResource.jsp        
        /pessimisticLock.jsp        
        /crud/index.action
        /dictionaries/index.action
        
            attachment; filename="${resultFileName}"
            workbook
        

    
    
        
        
        
        
        
        
     

    



Что я делаю неправильно? Можете ли вы предложить мне несколько хороших примеров / руководств по выполнению десериализации из JSON в Java в Struts2, потому что я не могу найти ни одного правильного полного примера с десериализацией JSON в Struts2, особенно пример кода Action, который получит JSON и свяжет его с Java ,

Я вообще новичок в Struts, так чтоВот почему у меня проблемы с пониманием некоторых проблем и последовательности действий, например, как получить и обработать JSON в действии. Есть примеры для сериализации с помощью struts2-json-plugin, но с этой темой у меня не было проблем. Пожалуйста, помогите мне...

Ответы на вопрос(1)

Ваш ответ на вопрос