티스토리 뷰
라디오버튼 클릭하면 해당 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>



'코딩 > spring' 카테고리의 다른 글
[23주 2일차] 남은 시간 구현 (1) | 2024.03.12 |
---|---|
[23주 1일차] 팀 가입신청 (0) | 2024.03.11 |
[22주 4일차] 해당id에 따라 리뷰 작성하고 리뷰 읽기 (0) | 2024.03.07 |
[22주 3일차] session 값 존재 유무에 따른 버튼 보여주기 (0) | 2024.03.06 |
[22주 3일차] radio 버튼을 이용하여 카테고리별로 출력하기 (1) | 2024.03.06 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday