JSTL에서 SQL 문을 사용하는 예제를 작성하던 도중에 본적이 없는 구문을 찾았다.
그래서 어떻게 동작하는지 궁금해서 찾아보았다.
위에 보면 알겠지만 10번째와 15번째에 columnNames와 rows 로 접근하여 열과 행의 정보를 가져온다. 그런데 이게 어떻게 이런게 열과 행의 정보를 가져오는지가 이해가 안됬다. 설명도 없을 뿐더러 저장되어있는 필드 변수의 값을 가져오는건지 아니면 메소드를 사용해서 가져오는건지 잘 이해가 안됬다. (애초에 사실 ${} 표현에 대한 이해가 조금 부족했던 것 같다. 그래서 이해가 안된거지)
그래서 일단은 저기에 쓰인 rs 참조변수가 ResultSet 타입이어서 java api 문서에서 ResultSet파트에서 메소드를 다 봤는데, 없었다.
근데 이게 접근법이 잘못된거였다. 애초에 jstl 에서 사용하는건데, jstl sql 로 검색했어야했다. 그래서 jstl sql columnNames라고 검색하니까 바로 떴다.
즉 저 위에서 사용하는 rs.columnNames는 바로 getColumnNames()에 접근하여 그 값을 읽어오는 거였다...
근데 행의 row관련 정보를 읽어오는 건 대부분 rowsByIndex로 사용하던데, 조금 더 찾아보니까 두개가 따로 있는거였다. rowsByIndex랑 rows랑 따로따로 있다. 그리고 살펴보니 rows 좀더 간편하다. rowsByIndex는 따로 더 사용법이 있다. 즉 rowsByIndex 하나만 써줬다고 끝나는게 아니다. 아무튼 그래서 난 rows 를 주로 사용할 생각이다.
아무튼 접근법이 중요했다... 괜히 엄한 api살펴보다가 시간 날렸다.
columnNames 사용법
rows 사용법
'Servlet & Jsp' 카테고리의 다른 글
[JDBC] pstmt.executeUpdate() 까먹지 않기... (0) | 2021.01.19 |
---|---|
[JDBC] ORA-00942: table or view does not exist 에러 (0) | 2021.01.19 |
[JSP] JSP 관련 잘 정리된 블로그 (0) | 2021.01.17 |
[JSTL] JSTL 사용중에 NoSuchMethodError 에러가 발생한다면 (0) | 2021.01.17 |
[JSP] properties 플러그인 에러 (0) | 2021.01.17 |