http://yoonka.tistory.com/459
[Spring] 컨트롤러(controller)에서 넘긴 모델(model)값 뷰(jsp)에서 받아서 활용하기/리스트(List) 객체 받기
XXXXcontroller.java 에서
다음과 같이 getUserInfo에 값을 담아 보냈을 때
1. getAttribute로 값 받기
이 방법은 비추…
해당 클래스를 매번 import해야되고, 나중에 소스 파악도 힘듦
2. el표현언어 or jstl 이용
jstl 이용 시
Value에 <c:out ~~> " 태그를 이용해서 써주면 된다
3. [추가 20141008]자바스크립트에서 받고 싶다면????
뷰(jsp)페이지에서 jstl 태그 이용하지 않고
model에 담긴 List 를 자바스크립트에서 처리하고 싶다면????
하나의 jsp 파일 내에 작성된 소스라도
jstl,el 등은 서버에서 실행이되고, 자바스크립트는 브라우저에서 실행되기 때문에
두 언어 간에 변수를 직접 주고 받을 수는 없다
직접은 아니더라도 받을 수는 있음!!!!
3. 자바스크립트 내에서 값 받기
1) jstl을 이용해서 받기
controller에서 List<ServerInfo> 형태로 값을 'serverinfo'에 담아 넘겨줬을 경우
여기서는 json 배열을 만들고자 했다
그래서,
jstl 구문으로 값을 받고 ->받은 값을 json Object에 넣고 -> 배열에 다시 넣음
그럼
[[a:xxx,b:sss],[a:xxx,b:sss],[a:xxx,b:sss]] 형태의 값이 된다.
여기서 object 선언을 jstl 바깥쪽에 넣으면 똑같은 값이 들어간다...
object는 하나의 객체이기 때문에!!!!!
추가될때마다 오브젝트를 만들어서 넣어주도록 해야함
2) javascript 배열을 이용해서 받기
Controller단에서 Model은 request 에 값을 가지고 있음..
model에 있는 값을 받을려면 페이지 전환되어야 그 값을 받아올 수 있음
ajax 요청 같은 경우
페이지 전환없이 같은페이지에서 받는 것이기 때문에
컨트롤러에서 model 값에 넣어서 넘겨주면 안돼고..
return 값에 넣어 다음과 같이 클라이언트 단에 넘겨줘야함
받을때는 그냥 다음과 같이 받으면 됨
여기서 .. 리턴 타입이 List<Beacon> 라면...
자바의 List는 자바스크립트에서는 배열로 받음
Beacon은 object로 접근이 가능하다
'Web > Javascript_Jquery' 카테고리의 다른 글
[jQuery] javascript의 this와 $(this)의 차이점 (0) | 2016.04.22 |
---|---|
휴대폰 번호 검사 정규식 표현 (0) | 2016.04.15 |
input 선택자 모두 선택 (0) | 2016.03.31 |
datepicker 옵션, 특정일 비활성화, 활성화 (0) | 2016.03.16 |
jquery 유효성 검사 참고 사이트 (0) | 2016.03.11 |
댓글