Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- JavaScript
- XML Core
- 스프링프레임워크
- 프로그래밍용어
- Session
- 데이터포맷
- 데이터문서포맷
- Database
- Servlet
- Request/Response Header
- Ajax
- XML DOM
- 카카오APi
- 웹프로그래밍
- 데이터규정
- 반응형웹
- Java
- 자바
- xml mapping
- JSP
- Multipart
- 세션
- 자바스크립트
- 공문서작성규정
- xml
- java컴파일
- java annotation
- JSTL
- 데이터베이스
- HTTP
Archives
- Today
- Total
KyungHwan's etc.
스프링프레임워크 - 뷰(View) 에서 JSTL태그를 이용하여 컨트롤러(Controller)에서 넘긴 모델(Model) 값 받기 본문
Java/스프링프레임워크
스프링프레임워크 - 뷰(View) 에서 JSTL태그를 이용하여 컨트롤러(Controller)에서 넘긴 모델(Model) 값 받기
KyungHwan_0 2018. 6. 22. 11:37컨트롤러에서 넘긴 모델값을 뷰상으로 전달하는 방법이 많은데, 간편하게 컨트롤러에 데이터를 받아올때 수월한 JSTL태그를 사용하여 받을수 있다.
Controller
"/main") (
public String main(Model model ,HttpSession session , String paramData)throws ParseException{
IDao dao = sqlSession.getMapper(IDao.class);
ArrayList<ContentDto> list = dao.showlist2(logininfo);
model.addAttribute("list", dao.showlist2(logininfo));
return "main";
}
모델에 "list" 라는 이름으로 Mybatis를 이용하여 쿼리결과를 담았다.
View
<c:forEach items="${list}" var="dto"> </div>
<div class='feed mbot-10'>
<div class='section phor-16'>
<div class='face flex-embed'></div>
<div class='name'>글번호:${dto.num}</div>
<div class='name'>작성자:${dto.ID}</div>
<div class='desc'>${dto.JSONOBJ}</div>
<div class='gogogo'><a href="delete?num=${dto.num}">삭제</a></div>
<div class='gogogo'><a href="wwritereupdate?num=${dto.num}">수정</a></div>
<div class='desc'></div>
</div>
</c:forEach>
items = "${리스트가 받아올 배열이름}". var = "for문 내부에서 사용할 변수".
View상에서 "list" 데이터를 가져와 "dto" 변수로 지정하고, 사용하여 결과를 뿌려준다. 보통 DTO을 이용하여 쿼리문결과를 가져올때가 많은데 JSTL태그를 이용하여 수월하게 가져올수있다.
JSTL태그를 이용하여 자바스크립트로 결과를 받아올수도 있다.
컨트롤러에서 모델은 request에 값을 가지고 있어, 모델에 있는 값을 받을려면 페이지 전환이되어야 그값을 받아올수가 있다.
하지만, AJAX 요청 같은 경우 페이지 전환 없이 같은페이지에서 받는 것이기 때문에, 컨트롤러에서 모델값에 넣어서 넘겨주면 안되고, return 값에 넣어 다음과 같이 View에 넘겨줘야 한다.
"/getBeaconOfTour") (
public List<Beacon> getgetBeaconOfTour(long tourId){
List<Beacon> list = tourAdminService.getBeconOfTour(tourId);
System.out.println("이름:"+list,get(0).getBeaconName());
return list;
}
AJAX에 요청이 있는경우, 컨트롤러에서 return 값으로 쿼리결과를 담은 List를 이용하여 View로 넘긴다.
$("#tourId").change(function()){
alert($("#tourID").val());
$.post("/getBeaconOfTour" , {"#tourId": $("#tourId").val()}, function(result){
for(var i=0 in result.length){
alert(result[i]["beaconName"]); //or result[i].beaconName 이렇게도 가능
}
}
}
result 값에 컨트롤러에 return값이 담겨오고, List는 배열형식이기 때문에 배열로 꺼내올수있다.
여기서, 리턴 타입이 List<Beacon> 라면,자바의 List는 자바스크립트에서는 배열로 받음 Beacon은 object로 접근이 가능하다 .
Reference
'Java > 스프링프레임워크' 카테고리의 다른 글
스프링프레임워크 간단한 파일업로드 샘플 (0) | 2018.10.03 |
---|---|
MyBatis 파라미터를 Map형식으로 받기 (0) | 2018.06.21 |
AJAX를 이용한 비동기 파일업로드(View에서 컨트롤러로 데이터전송) (0) | 2018.06.21 |
스프링프레임워크 - MVC Redirect 시 URI 에 붙는 파라미터 제거 하기 (0) | 2018.06.21 |
스프링프레임워크 - ModelAndView (0) | 2018.06.21 |
Comments