List

화요일, 12월 22, 2015

spring 환경에서 Ajax 연결 - 2단계


  • 기본 프로세서
    • 기본 view화면
      • 요청 : query String ( key=value)
    • Controller
      • ModelAttribute , RequestParam
      • Model 처리
    • Service
      • DB연결 처리 ArrayList<VO>형태 데이터 가져옮
      • Json parser : ArrayList<VO>객체를 문자열 json data로 변경 처리
      • JSONObject
        • put("property","value");  ==>> {"property","value"};
      • 한글
        • 서버단 Encoder : 암호화를 처리
        • 클라이언트단 Decoder : 복호화 처리 ( javascript)
    • @ResponseBody를 통해 json 데이터를 view 단에 넘김 처리
      • View단 : eval함수로 문저열 json 데이터를 객체로 변경??
      • function(data){
      •     var list = eval(data);
      • }
  • 검색 결과 값을 for문을 돌면서
  • jsonArray에 담고 그값을 .toJSONString()으로 return
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    public String getBoardList(BoardVO sch){
        
        ArrayList<BoardVO> list= bdao.ajaxBoard(sch);
        System.out.println("검색결과 리스트 "+list.size());
        JSONArray array = new JSONArray();
        JSONObject obj;
        
        //list를 돌면서
        for(BoardVO board : list){
            obj= new JSONObject();
            //json obj에 담아줌
            obj.put ( "title",  board.getTitle() );
            obj.put ( "wirter",  board.getWriter() );
            obj.put ( "cont",  board.getContent() );
            array.add(obj);
        }
            
        return array.toJSONString();
    }
cs
  • Ctrl단 return 할때 결과값으로 리턴
1
2
3
4
5
6
    //호출했을때, String 문자열을 전달하는 객체
    @ResponseBody
    @RequestMapping(params="key=alist")
    public String list(BoardVO sch){
        return service.getBoardList(sch);
    }
cs

  • 한글처리
    • server단 : urlencoder.encode(데이터)
      • 공백 endcoding 부분 replaceAll
    • Client 단 : decodeURL(데이터)
  • 검색의  keyup의 매력
    • event.keyCode : 38 위로  , 40 (아래로),13(enter)



댓글 없음:

댓글 쓰기