작성
·
1.6K
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
public class MemberSaveControllerV3 implements ControllerV3 {
private MemberRepository memberRepository = MemberRepository.getInstance();
@Override
public ModelView process(Map<String, String> paramMap) {
String username = paramMap.get("username");
int age = Integer.parseInt(paramMap.get("age"));
Member member = new Member(username, age);
memberRepository.save(member); ModelView mv = new ModelView("save-result"); mv.getModel().put("member", member); return mv; } }
이 코드에서 자꾸 run을 하고 new-form에서 작성하게 될 시
http://localhost:8080/front-controller/v3/members/save 이 경로에서
이런식으로 뜨게 되는 데 로그에서 어떤 오류가 발생했는 지 확인해본 결과
username=son&age=26]
2023-03-21T02:35:34.035+09:00 ERROR 16792 --- [nio-8080-exec-1] a.c.c.C.[.[.[.[frontControllerServletV3] : Servlet.service() for servlet [frontControllerServletV3] in context with path [] threw exception
java.lang.NumberFormatException: Cannot parse null string
이런식으로 에러가 난 겁니다. int age = Integer.parseInt(paramMap.get("age"));이 코드떔에 에러 난건데
강의 듣고 라이브코딩한거라 어떤 부분에서 잘못된건지 모르겠네요... 알려주시면 감사하겠습니다.
답변 2
1
0
안녕하세요, sdh5518 님! 공식 서포터즈 codesweaver 입니다.
올려 주신 내용으로만 보면 age 값으로 숫자만 넣으셔야 하는데 특수문자 ']' 가 포함되어 있어
이를 숫자로 변환하는 과정중 발생한 오류입니다.
폼 값에서 나이를 입력하실 때 특수문자를 빼고 다시 시도해주시기 바랍니다.
감사합니다.
코드 내용을 압축하시어 구글드라이브에 공유해주시겠어요?
코드 전체를 한 번 봐야할 것 같습니다.
구글 드라이브 업로드 방법은 다음을 참고해주세요.
주의: 업로드시 링크에 있는 권한 문제 꼭 확인해주세요
감사합니다.
저도 V3할때만 자동으로 들어가요 이유를 모르겠어요
그런데 다른 코드 돌려도 결과창에 뜬금없이 '[' 들어가요