티스토리 뷰

라디오버튼 클릭하면 해당 value와 일치하는 정보들만 보여주는 코드를 작성했다.

원래 js을 이요하려했으나 url을 발생하여 보여주도록 변경했다.

 

이제 해야하는거 페이징처리!!!!

 

 

 

hospitalInfoController.java

	//location에 따른 뷰 보여주기
	 @GetMapping("/loc")
	public String showHospitals(@RequestParam(name = "location", required = false) String location, @RequestParam(defaultValue = "1") int page,Model model) {
	// location 파라미터에 따라 필요한 데이터를 가져와서 모델에 추가
	List<HospitalInfo> hospitals = hospitalInfoRepository.findByLocation(location);
	// 예를 들어, location이 null이면 전체 데이터를 가져오고, 아니면 해당 지역의 데이터를 가져오도록 구현
	

	
	// 모델에 데이터 추가
    model.addAttribute("dataList", hospitals);
    
	
	return "/Hospital/hospitals"; // 실제 뷰 이름으로 수정
	}

 

 

 

 

hopitalInfoRepositoryImpl.java

@Override
	public List<HospitalInfo> findByLocation(String location) {
		if (StringUtils.isBlank(location)) {
	        // 빈 문자열이나 null이면 전체 조회
	        String SQL = "SELECT * FROM hospitalInfo";
	        return template.query(SQL, new HospitalInfoRowMapper());
	    } else {
	        // 아니면 지정된 지역을 조회
	        String SQL = "SELECT * FROM hospitalInfo WHERE sidoCdNm LIKE ?";
	        String parameter = "%" + location + "%";
	        return template.query(SQL, new Object[] {parameter}, new HospitalInfoRowMapper());
	    }
	}

 

 

hosptials.jsp

<script>
    $(document).ready(function() {
        // 라디오 버튼 클릭 이벤트 처리
        $('input[type="radio"]').on('change', function() {
            // 선택된 라디오 버튼의 값 (서울, 인천, ...) 가져오기
            var selectedLocation = $('input[name="location"]:checked').val();

            // URL 동적으로 변경
            var newUrl = '/waguwagu/hospitalinfo/loc?location=' + encodeURIComponent(selectedLocation);
            window.location.href = newUrl;
        });
    });
</script>
<!-- 페이지 번호를 변경하는 스크립트 추가 -->
<script>
    $(document).ready(function() {
        // 라디오 버튼 클릭 이벤트 처리
        $('input[type="radio"]').on('change', function() {
            // 선택된 라디오 버튼의 값 (서울, 인천, ...) 가져오기
            var selectedLocation = $('input[name="location"]:checked').val();

            // URL 동적으로 변경
            var newUrl = '/waguwagu/hospitalinfo/loc?location=' + encodeURIComponent(selectedLocation) + '&page=1';
            window.location.href = newUrl;
        });

        // 페이지 번호를 클릭하는 이벤트 처리
        $('.pagination-item').on('click', function() {
            // 클릭한 페이지 번호 가져오기
            var clickedPage = $(this).text();

            // 현재 선택된 라디오 버튼의 값 (서울, 인천, ...) 가져오기
            var selectedLocation = $('input[name="location"]:checked').val();

            // URL 동적으로 변경
            var newUrl = '/waguwagu/hospitalinfo/loc?location=' + encodeURIComponent(selectedLocation) + '&page=' + clickedPage;
            window.location.href = newUrl;
        });
    });
</script>

 

 

 

 

 

 

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday