📗 self-study/📗 KH정보교육원 당산지원

[12/11] jsp에서 controller로 원하는 정보 보낸 후에 db 접속하기

천재강쥐 2022. 12. 11. 15:26

 

이 로그인 유저를 먼저 controller에 담은 상태로 db에 다녀와서 화면을 뿌려 주고 싶은데

<form id="loginUserForm" action="" method="post">
    <input type="hidden" name="loginUserNo" id="loginUserNo" value=${ loginUser.userNo }>
</form>

 

controller에서 loginUserNo를 받고 콘솔에 출력해 보면

	@RequestMapping(value="myComment.me")
	public String selectMyCommentList(@RequestParam(value="cpage", defaultValue="1") int currentPage, String loginUserNo, Model model) {
		
		System.out.println("loginUserNo:" + loginUserNo);
		
		// int loginUser = Integer.parseInt(loginUserNo);
		//System.out.println(loginUser);
		
		int listCount = memberService.selectMyCommentListCount(loginUserNo);
		
		System.out.println("listCount: " + listCount);
		
		int pageLimit = 10;
		int boardLimit = 10;
			
		PageInfo pi = Pagination.getPageInfo(listCount, currentPage, pageLimit, boardLimit);
		
		ArrayList<Review> list = memberService.selectMyCommentList(pi, loginUserNo);
		
		model.addAttribute("pi", pi);
		model.addAttribute("list", list);
		
		return "member/myPageComment";
	}

 

1. 이렇게 ajax로 돌렸을 때는

  <script>
        	
        	$(function() {
        		
        		var loginUserNo = $("#loginUserNo").val();
        		
        		// console.log(loginUserNo);
        		
        		$.ajax({
        			url : "myComment.me",
        			data : { loginUserNo : loginUserNo},
        			type : "get",
        			success : function(result) {
        				console.log("마이페이지 별점 및 코멘트 조회용 ajax 통신 성공!");
        			},
        			error : function() {
        				console.log("마이페이지 별점 및 코멘트 조회용 ajax 통신 실패!");
        			}
        		});
        		
        	});
        
        </script>

 

페이지 접속할 때마다 정보 없음으로 로드 된 후에 로그인 정보를 받아와서 페이지에 반영되지 않음

 

2. 로드된 즉시 form에 든 loginUserNo를 보냈을 때는

        <script>
	        $(function() {
	        	
	        	$("#loginUserForm").attr("action", "myComment.me").submit();
	        	
	    	});
        </script>

 

뜨긴 하는데 무한 반복으로 로딩 반복돼서 스크롤도 안 움직임 ;;

 

 

 

3. div 탭에 class 값을 준 뒤에 해당 탭 클릭 시  로그인 유저폼의 정보가 넘어가도록 설정

<div id="mypage_navi">
    <div><a href="">시청 내역</a></div>
    <div><a href="">볼래요</a></div>
    <div><a href="">이용권 내역</a></div>       
    <div id="selected_tab" class="rating_comment"><a href="myComment.me">별점 및 코멘트 내역</a></div>
    <div><a href="">커뮤니티 글 내역</a></div>
    <div><a href="">커뮤니티 댓글 내역</a></div>
</div>

 

 

		<script>
    		$(".rating_comment").on("click", function() {
    		
	       		$("#loginUserForm").attr("action", "myComment.me").submit();
    			
    		});
		</script>

 

 

 

 

근데 약간 문제 생김...

a 태그에는 class, id 값을 줄 수가 없는데

현재  a 태그인 글자를 눌렀을 때는 로그인 유저 폼의 정보가 넘어가지 않고

 

글자 바깥 끄트머리를 눌러야 조회됨 ㅎ...