⚠️ 오늘 발생한 문제들
1. 데이터가 안 나오고 자꾸 "게시물이 없습니다"
뜸개발자도구 보니까 500 에러 발생
원인: 컨트롤러에서 @RequestBody 때문이었음
jqGrid는 form 데이터로 보내는데, 컨트롤러는 JSON만 받으려고 해서 충돌
// 이렇게 했다가 실패
@RequestBody BoardVO boardVO // JSON만 받으려고 함
// 이렇게 수정하니까 됨
BoardVO boardVO // 그냥 일반 파라미터로 받기
2. 데이터는 오는데 화면에 안 보임
- 서버 로그 찍어보니 데이터는 잘 나오는데 화면에서 안 보임
- 원인: jqGrid는 rows라는 키로 데이터를 찾는데, 서버는 list로 보내고 있었음
// 서버에서 보내는 데이터
{
"list": [
{
"title": "첫번째 게시글입니다",
"writer": "홍길동",
...
}
]
}
// jqGrid가 원하는 데이터
{
"rows": [ ... ], // 여기에 데이터가 있어야 함
"page": 1,
"total": 5,
"records": 50
}
3. 날짜 포맷 수정
- 날짜가 이상하게 출력됨
- colModel에 formatter 추가해서 해결
{
name: 'regDate',
formatter: function(cellvalue) {
if(!cellvalue) return '';
var date = new Date(cellvalue);
return date.getFullYear() + "-" +
String(date.getMonth() + 1).padStart(2, '0') + "-" +
String(date.getDate()).padStart(2, '0') + " " +
String(date.getHours()).padStart(2, '0') + ":" +
String(date.getMinutes()).padStart(2, '0') + ":" +
String(date.getSeconds()).padStart(2, '0');
}
}
✅ 메모
- jqGrid 쓸 때는 컨트롤러에서 @RequestBody 쓰지 말기
- 컨트롤러에서 데이터 보낼 때 rows 키로 변환해서 보내기
- 날짜 포맷은 colModel의 formatter로 처리하기
'개발노트 > TroubleShooting' 카테고리의 다른 글
[Spring] 다국어 처리 시 locale이 제대로 처리되지 않는 문제 (2) | 2025.02.13 |
---|---|
[JavaScript] 게시판 첨부파일 삭제 시 atchFileId가 계속 남아있는 문제 (2) | 2025.01.21 |
[JavaScript] this 문맥이 달라질 때 해결법 (콜백함수의 this 이해하기) (2) | 2025.01.19 |
[jQuery] 동적 요소에 이벤트 바인딩이 안 될 때 해결법 (+ event delegation) (0) | 2025.01.18 |
[Spring] jqGrid 검색 기능 구현 중 발생한 오류들 정리 (1) | 2025.01.14 |