2014-12-19 6 views
1

DataTables 1.10을 Spring MVC와 함께 사용하고 있습니다. 서버 측 처리를 사용할 때 컨트롤러에 매개 변수 집합을 전송합니다. 그것은이 개하는 치수의 배열로 설정되어 있지만 열이 같은 문자열 인 :DataTable 서버 측 처리 용 데이터 구조

columns[0][data]= 
columns[0][name]= 
columns[0][orderable]=false 
columns[0][search][regex]=false 
columns[0][search][value]= 
columns[0][searchable]=true 
columns[1][data]= 
columns[1][name]= 
columns[1][orderable]=false 
columns[1][search][regex]=false 
columns[1][search][value]= 
columns[1][searchable]=true 
order[0][column]=4 
order[0][dir]=desc 
order[1][column]=4 
order[1][dir]=desc 
search[regex]=false 
search[value]= 

이 어떻게 자바에서 DTO로이를 대표 할 수 있는가? 어떠한 제안?

답변

1

당신이 데이터를 변경할 수 있습니다 서버로 전송하고 2 차원 배열로 모든을 (특히 3dimension 인 부분을 검색). 다음으로 쉽게 this link을 사용하여 DTO를 만들 수 있습니다.

0

문제를 해결하는 것이 좋습니다.

public class DataTableOptionsDto implements Serializable { 

    private static final long serialVersionUID = 1012699939925216984L; 

    private List<Map<String, Object>> columns; 

    private List<Map<String, Object>> order; 

    private Map<String, Object> search; 

    // add getters and setters 

} 

@Controller 
public class SearchController{ 

    @RequestMapping("/search") 
    public String search(DataTableOptionsDto dataTableOptionsDto){ 
     //do some things here 
     return jsonBuilder.json(searchData); 
    } 

} 
+0

처리 열은 무엇입니까 [0] [검색] [정규식]? –

+0

dto 클래스에이 개인 목록과 같은 필드가 있어야합니다. >>; –

+0

및 컨트롤러 : 부울 searchRegex = dataTableOptionsDto.getColumns(). get (0) .get ("검색"). get ("regex"); –

1
public class Columns { 
    private int index; 
    private String data; 
    private String name; 
    private boolean orderable; 
    private Search search; 
    private boolean searchable; 

    public Columns(int index) { 
     this.index = index; 
    } 

    public Columns(int index, boolean orderable, Search search,boolean searchable) { 
     this.index = index; 
     this.orderable = orderable; 
     this.search = search; 
     this.searchable = searchable; 
    } 
} 

public class Search { 
    private boolean regex; 
    private int value; 

    public Search(boolean regex) { 
     this.regex = regex; 
    } 
} 

public class Order { 
    private int index; 
    private int column; 
    private String dir; 

    public Order(int index) { 
     this.index = index; 
    } 

    public Order(int index, int column, String dir) { 
     this.index = index; 
     this.column = column; 
     this.dir = dir; 
    } 
}