[상황]
form 태그에서 name값이 동일한 <input type = hidden>이 2개 있다.
submit으로 이 name값을 보내줄때 상황에 따라 아예 보내지 않거나 1개 또는 2개를 보내도록 설정했다.
service단에서 위 값을 string[] 배열로 받도록 설정했더니 2개를 보냈을 때는 잘 받아지는데, 보내지 않거나 1개를 보낼 시 아래 오류가 떴다.
[오류]
Request processing failed; nested exception is java.lang.ClassCastException: class java.lang.String cannot be cast to class [Ljava.lang.String; (java.lang.String and [Ljava.lang.String; are in module java.base of loader 'bootstrap')
java.lang.ClassCastException: class java.lang.String cannot be cast to class [Ljava.lang.String; (java.lang.String and [Ljava.lang.String; are in module java.base of loader 'bootstrap')
[해결]
아무것도 보내지 않거나 1개를 보낼 시 string[] 배열로 받을 수 없기 때문에 오류가 뜨는 것 같았다.
그래서 service단에서 무조건 string[]배열로 받는 게 아니라 상황을 3가지로 나누고 if문을 사용해서 조건을 줬다.
if - 넘어오는 값이 없을 때 (값 0개)
else - 값이 배열로 넘어 올 때 (값 2개)
else - 값이 배열로 넘어오지 않을 때 (값 1개)
이 중 값이 2개가 넘어올때만 값을 배열 string[]으로 받도록 설정하니 해결됐다.
'ERROR RESOLVING' 카테고리의 다른 글
오류 UnsatisfiedDependencyException (0) | 2023.02.11 |
---|---|
오류 Log4j - org.apache.log4j.Logger cannot be resolved to a type (0) | 2023.02.05 |
오류 Unhandled exception type IOException (0) | 2023.01.05 |
오류 부적합한 열 유형: 1111 (0) | 2023.01.01 |
오류 Uncaught ReferenceError: jQuery is not defined (0) | 2022.12.29 |