자바스크립트 map을 활용한 사례
게시판과 같이 user정보를 list로 담아서 배열로 뿌려주고, 그 뿌려준 데이터를 하나씩 가공하기 위해서는 자바스크립트 map을 활용 할 수 있다.
<c:foreach var=user items="${listUser}">
<tr>
<td>
<label>
<input type="checkbox" name="Ids" .... (생략) data-userid="${user.userid}"/>
<span class="test"><spring:message code="W0123" text="선택"/></span>
</label>
</td>
.
.
.
[자바스크립트]
checkedList:function() {
let listUser = new Array();
$("input[name='Ids']:checkbox:checked").each(function () {
let user = new Object();
user.userid = $(this).data("userid");
listUser.push(user);
.
.
.
});
return listUser;
}
.
.
.
goServer:function() {
let listUser = this.checkedList();
let Ids = listUser.map(function(user) {
return user.userid;
});
$.ajax({
url : "test1/test2/test.do",
.
.
.
[Server] Java
List<ListUser> listUser = new ArrayList<>();
for (String userid : Ids) {
User user = new User();
user.setId(userid);
.
.
.
결론 : 처음 자바스크립트에서 배열로 된 정보중 필요한 정보를 map으로 뽑아서 서버에 전달하고 전달한 정보를 서버에서 가공할 수 있다.