서버에서 뭔가를 조회해서 클라이언트로 던져줄 때.. 어떻게 jsp에서 가져가게 만들까 했는데..
방법이 있네.. 우선 까먹지 않기 위해 기록.
@Controller
public class MyController{
@RequestMapping(value = "/myurl", method={RequestMethod.POST, RequestMethod.GET })
public String getMyItemList(Model model, HttpServletRequest req, HttpServletResponse res){
...
List<MyItem> myItems = this.anonymousService.getMyItems();
model.addAttribute("myItemAttribs", myItems);
}
}
Java쪽에서 저렇게 써주면.. jsp에서는 다음과 같이 퍼가자.
<c:if tests="{not empty myItemAttribs}">
<c:forEach items="${myItemAttribs}" var="myItem">
<label>${myItemSingle
</c:forEach>
</c:if>
attribute에 추가한 이름대로 js에서 당겨오면 된다.
만약 반환형태가 list여서, js에서 list의 loop를 순환한다고 하면.. forEach의 items에는 서버에서 받아온 이름대로 설정해준 후, loop안에서 개별 item의 이름은 var에 정의한 이름으로 사용하면 된다.
반응형
댓글