무소의 뿔처럼
스프링부트) 에러기록 For input string: _ List로 담아 보냈어~ 본문
리턴타입 확인하기.
에러
For input string:
2022-08-18 17:01:07.246 ERROR 12360 --- [nio-8085-exec-1] o.a.c.c.C.[.[localhost].[/].[jsp] : Servlet.service() for servlet [jsp] threw exception
java.lang.NumberFormatException: For input string: "company_name" at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67) ~[na:na] at java.base/java.lang.Integer.parseInt(Integer.java:668) ~[na:na]
Dto의 리스트를 단순히 불러와서 model에 담아 view로 보내는것이 아니고 (sql: select * from 테이블)
(sql:select * from 테이블 where idx = ${param}) 으로 조건에 충족하는 1개의 행을 불러오는 것:상세 테이블.
문제 :
너무 단순하게 생각해서 list의 Controller코드를 그대로 복사해서 상세 테이블의 Controller에 적용시킨 것
리스트는.. 코드는 아래와 같고
@RequestMapping("/list")
public List<dto> list(Model model) {
List<dto> list = dao.list();
model.addattribute("list",list);
return "list";
dao에 detail(String idx)를 만들어 sql를 Mapping 함..
public List<dto> detail(@RequestParam("idx")String idx , Model model){
이때 For input string: 가 나타났다. ( NumberFormatException )
int로 주고받을 게 없는데 왜 paseint를 이렇게 외칠까?
구글링해도 나오지 않는다.
왜냐하면... 스프링 부트를 공부한 사람들은 이런 실수를 하지 않겠지? ㅎㅎ
dao를 수정하여 줌.
public dto detail(String idx);
controller도 수정
public void detail(@RequestParam("idx")String idx,
Model modle){
dto dto = dao.detail(idx);
model.addAttribute("detail",dto);
}
----------------
List로 받을 때. getClass(). getName()에 ArrayList가 consol에 찍혔음.
consol를 찍었을 때 dto와 ArrayList dto와 차이는 List는 []으로 감싸여있다.
정말 눈여겨보질 않았... 기도 했고, 한 번에 찾으려고 하면 안 되는구나..라는 것을 깨달았다.
쉬지 않으면 눈에 보이지 않고, 계속 봤던 코드라서 오류가 아닌 이상 그냥 지나치게 되더라
ㅋㅋㅋ 실수도 실수인데... 이건 솔직히 공부 안 한 거 티 난다..
이렇게 부딪치면서 공부하는게 나한텐 맞다!
LIst를 받았는데
view에서 칼럼명 dto의 한 녀석의 이름 계속 알려달라고 요구를 하는데
model은 이 리스트 중에 어떤 녀석의 이름을 가져오는거냐며 에러를 보낸 것 같다.
아마 List의 index를 외쳤던 게 아닐까..
java.lang.NumberFormatException: For input string:
나는 문자를 보냈지만
자바는 그 요청해결을 위해 어느 index인지를 보려고 숫자로 변환 시려는 시도 같은 거..
'알아두기 > 에러' 카테고리의 다른 글
스프링부트) 에러기록 Consider defining a bean of type / Unsatisfied dependency expressed through (0) | 2022.09.01 |
---|---|
스프링부트) 에러페이지.. 왜 안나와.. (0) | 2022.08.24 |
스프링부트) 에러기록 datasource, url (0) | 2022.08.16 |
boot)지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가) (0) | 2022.08.15 |
json_No converter found for return value of type: (0) | 2022.07.15 |