728x90
결과화면
(1) 회원등급 조정
HTML5
<li id="tab1">
<div id="memberAdmin">
<div id="memberTitle">
<p>아이디</p>
<p>이름</p>
<p>가입일</p>
<p>등급</p>
<p>삭제</p>
</div>
<c:forEach items="${memberList }" var="m">
<div id="memberList" class="${m.sm_grade }">
<p id="sm_id">${m.sm_id }</p>
<p>${m.sm_name }</p>
<p>${m.sm_joindate }</p>
<p id="mBtn">
<input type="button" name="down" class="gradeBtn" value="▼"/>
<span id="sm_grade" class="${m.sm_id }">${m.sm_grade }</span>
<input type="button" name="up" class="gradeBtn" value="▲"/>
</p>
<p>
<span>
<img src="../img/user_delete.png" alt="delete" style="width:20px;padding-top:2px;cursor:pointer;" onclick="userDelete('${m.sm_id}')"/>
</span>
</p>
</div>
</c:forEach>
</div>
</li>
JavaScript(jQuery, Ajax)
//회원 등급
$(".gradeBtn").click(function(){
var btn = $(this).attr("name");
var sm_id = $(this).parent().siblings("#sm_id").text();
var sm_grade = $(this).siblings("#sm_grade").text();
if(sm_grade == "0" && btn == "down"){
alert("더이상 등급을 내릴 수 없습니다.");
return false;
}
if(sm_grade == "9" && btn == "up"){
alert("더이상 등급을 올릴 수 없습니다.");
return false;
}
var al = "";
btn == "down" ? al = "등급을 내리시겠습니까?" : al = "등급을 올리시겠습니까?";
if(!confirm(al)){
return false;
}else{
$.ajax({
url : '${pageContext.request.contextPath}/admin/gradeUpdate?sm_grade='+ sm_grade + '&&sm_id=' + sm_id + '&&type=' + btn,
type : 'post',
success : function(data) {
$("." + sm_id).text(data);
}, error : function() {
console.log("실패");
}
});
}
});
Controller
(Ajax를 사용할 때는 @ResponseBody 꼭 있어야 합니다.)
@PostMapping("/gradeUpdate")
@ResponseBody
public int gradeUpdate(HttpServletRequest request) {
int grade = Integer.parseInt(request.getParameter("sm_grade"));
String id = request.getParameter("sm_id");
String type = request.getParameter("type");
HashMap<String, Object> list = new HashMap<String, Object>();
list.put("sm_id", id);
int result = 0;
if(type.equals("down") || type == "down"){
result = grade - 1;
}else {
result = grade + 1;
}
list.put("sm_grade", result);
adminService.gradeUpdate(list);
return result;
}
등급을 올리고 내리고를 컨트롤러에서 계산해서 DB로 보내줍니다.
Service
public void gradeUpdate(HashMap<String, Object> list) {
adminDAO.gradeUpdate(list);
}
DAO
public void gradeUpdate(HashMap<String, Object> list) {
sqlSession.update("admin.gradeUpdate",list);
}
Mapper
<update id="gradeUpdate">
UPDATE smember SET sm_grade=#{sm_grade} WHERE sm_id=#{sm_id}
</update>
반응형
'BackEnd > Spring' 카테고리의 다른 글
Spring 회원가입양식 만들기(Ajax를 활용한 비동기 방식)(4) (2) | 2021.09.13 |
---|---|
Spring 회원가입양식 만들기(Ajax를 활용한 비동기 방식)(3) (6) | 2021.09.13 |
Spring 회원가입양식 만들기(Ajax를 활용한 비동기 방식)(2) (7) | 2021.09.06 |
Spring 회원가입양식 만들기(Ajax를 활용한 비동기 방식)(1) (6) | 2021.09.02 |
Spring 회원가입양식 만들기(Ajax를 활용한 비동기 방식) (0) | 2021.09.02 |