Ajax로 데이터를 가져올때 해당 값이 리스트 안에 객체값이 있을때 가져오는 방식을 적어보겠습니다.
java에서 일반적으로 객체를 만들때 변수를 선언하고 getters, setters 를 선언합니다.
웹에서 객체의 변수명을 통해 값을 가져올수 있습니다.
웹소스의 16라인과 java소스 28라인을 확인해 주세요.
웹 소스 입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | //검색버튼 클릭 $("#searchButton").click(function(){ var objParams = { searchCd : $("input[name=searchCd]").val() //검색할 코드 (실제로 예제에서는 사용 안함) } var values = []; //ArrayList 값을 받을 변수를 선언 //검색할 코드를 넘겨서 값을 가져온다. $.post( "http://www.test.com/get", objParams, function(retVal) { if(retVal.code == "OK") { //controller에서 넘겨준 성공여부 코드 values = retVal.bookList ; //java에서 정의한 ArrayList명을 적어준다. $.each(values, function( index, value ) { console.log( index + " : " + value.name ); //Book.java 의 변수명을 써주면 된다. }); alert("성공"); } else { alert("실패"); } } ); }); |
java 소스 입니다. (controller)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | @RequestMapping(value="http://www.test.com/get", method=RequestMethod.POST) @ResponseBody public Object getBookInfo(@RequestParam Map<String,Object> map) { String searchCd = (String) map.get("searchCd"); //검색코드 //실제로 해당 부분은 서비스에서 처리 해야 하지만 그냥 Controller에서 처리 //검색코드를 조건으로 값을 가져 와야 하는데 설명을 위해 임의적으로 값을 셋팅 List<Book> bookList = new ArrayList<Book>(); Book book = new Book(); book.setName("홍길동전"); book.setPrice(100); bookList.add(book); book = new Book(); book.setName("레미제라블"); book.setPrice(300); bookList.add(book); Map<String, Object> retVal = new HashMap<String, Object>(); retVal.put("bookList", bookList); //bookList란 키로 bookList의 값을 넣어줍니다. (웹에서 bookList키로 추출 retVal.put("code", "OK"); return retVal; } |
pom.xml 에 추가 해 줍니다.
1 2 3 4 5 6 | <!-- Jackson JSON Mapper --> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.13</version> </dependency> |
Spring file download (파일 다운로드) (4) | 2015.07.08 |
---|---|
드래그 앤 드롭 파일 업로드 스프링 예제 (Drag&Drop File Upload Spring jquery) (20) | 2015.06.23 |
Ambiguous handler methods mapped for HTTP (0) | 2015.06.10 |
스프링 버전 확인 (0) | 2015.03.30 |
STS Spring Mybatis 설정 및 예제 (37) | 2015.03.12 |
댓글 영역