똑같은 삽질은 2번 하지 말자

JSONArray JSONObject @ModelAttribute 본문

카테고리 없음

JSONArray JSONObject @ModelAttribute

곽빵 2019. 9. 7. 14:10

JSON이란 Javascript Object Notation 의 약자

 

데이터를 교환할때 기계도 사람도 쉽게 이해할 수 있는 아주 많이 자주 이용되고 있는 데이터 표현 방법

 

1. JSONObject

   - 기본구조 : {String name : Value, String name2 : Value2 ...}

   - 구조에 대한 설명 

     : JSONObject는 '{' 로 시작하고 '}' 로 끝내어 표현한다. 

     : {} 안에는 String으로된 Name과 Value의 쌍을 ':' 로 구분하여 사용한다.

     : Name 과 Value의 구분은 ',' 로 한다.

     : 비순서화된 SET

   - 사용법(예)



2. JSONArray

   - 기본구조 : [{String name : Value}, {String name2 : Value2} ...]

   - 구조에 대한 설명 

     : JSONArrayt는 '[' 로 시작하고 ']' 로 끝내어 표현한다. 

     : []안에는 JSONObject 나 String 값 등을 담을 수 있다.

     : 각 object나 String 의 구분은 ',' 로 한다.

     : 순서화된 SET

   - 사용법(예)

 

이번엔 이 JSONArray를 이용해 프리젠테이션 측에 ArrayList 를 JSONArray 변환해서 보내 보았다.

 

 

 

@ModelAttribute

  @ModelAttribute 선언 후 자동으로 진행되는 작업들은 다음과 같다.

       ① 파라미터로 넘겨 준 타입의 오브젝트를 자동으로 생성한다. 

           위의 코드에서는 MemberInfo 클래스의 객체 info를 자동으로 생성한다. 

           이때 @ModelAttribute가 지정되는 클래스는 빈 클래스라야 한다. 

           즉 MemberInfo 클래스는 beans 클래스라야 한다.

           그리고 getter와 setter가 명명 규칙에 맞게 만들어져 있어야 한다.

 

      ② 생성된 오브젝트에(info) HTTP로 넘어 온 값들을 자동으로 바인딩한다. 

          위의 코드의 경우는 name=Gildong&age=25seq=327 이렇게 들어오는 

          name, age, seq의 값이 MemberInfo의 해당 변수의 setter를 통해서 

          해당 멤버 변수에로 binding된다.

 

      ③ @ModelAttribute 어노테이션이 붙은 객체가(여기서는 MemberInfo 객체) 자동으로 Model 객체에 추가되고 

          따라서 MemberInfo 객체가 .jsp 뷰단까지 전달이 된다.

 

Commander 객체하고 별 다를게 없다고 생각한 친구인데 의외로 코드를 간단하게 만들어 줄 수 있을꺼같다.

 

 

 

 



Comments