<!-- 생성자인 경우 다른 참여자 강퇴 기능 -->
<div th:if="${details.getUserName == #authentication.getName()}">
<button th:if="${member.getUserName != details.getUserName}" type="button" class="btn btn-outline-secondary btn-sm" th:crewId="${crewId}" th:userId="${member.joinUserId}"
th:onclick="deleteUserFromCrew(this.getAttribute('crewId'),this.getAttribute('userId'))">
강퇴하기
</button>
</div>
<!-- 일반 참여자인 경우 자기 자신만 나가기 기능-->
<div th:if="${member.getUserName() == #authentication.getName() and details.getUserName != #authentication.getName()}">
<button type="button" class="btn btn-outline-danger btn-sm" th:crewId="${crewId}" th:userId="${member.joinUserId}"
th:onclick="deleteUserFromCrew(this.getAttribute('crewId'),this.getAttribute('userId'))">
나가기
</button>
</div>
async function deleteUserFromCrew(crewId, userId){
console.log(crewId);
console.log(userId);
if(confirm("삭제하시겠습니까?")){
location.href = "/view/v1/manage/crews/" + crewId + "/" + userId+"/delete";
return true;
} else {
return false;
}
}
<button>
안에서 th:onclick으로 javascript함수인 deleteUserFromCrew()가 호출된다.
ex) th:crewId="${crewId}"
파라미터 변수
')를 통해 값을 넘겨준다.this.getAttribute('parameter1')
, this.getAttribute('parameter2')
)"*타임리프에서 인식을 못하는 에러가 존재하는데, 그냥 인텔리제이에서 인식을 못하는 거라서 실행에는 문제가 없다.
타임리프의 버전에 따라 호출 방법이 조금씩 다르고,
한 개 이상 파라미터를 대입하는 방법을 알려준 곳이 잘 보이지 않았기 때문에 찾는데 시간이 오래걸렸던 것 같다.