자바스크립트에 있는 isNaN함수(숫자일때 참, 문자일때 거짓)를 JSP에서도 사용가능하게 하는 함수입니다.

이 내용을 찾게 된 계기가 수업 중에 숫자를 입력하는 부분에서 문자를 입력했을 때 나오는 오류 처리 부분에서 발생했습니다.

AdderInput.html

Adder.jsp

AdderInput 페이지에서 숫자 값을 받아서 Adder 페이지에서 덧셈한 후 결과 값이 나오는 부분입니다.
여기서 문제는 AdderInput 페이지에서 문자를 입력했을 때 오류가 발생하는 점이었습니다.
오류 메시지를 보니 java.lang.NumberFormatException라는 예외 처리를 하라고 나와 있었습니다.
try catch문을 사용하여 예외 처리를 하였습니다.

Adder.jsp 수정01

catch 부분에 오류 메시지를 “?는 입력하실 수 없는 문자입니다.”라고 출력하고 싶어서 고민해본 결과,
if문으로 문자와 숫자를 구별하여 문자가 나오면 출력할 수 없다는 메시지를 출력하면 되겠구나 생각했습니다.

하지만 숫자일 때 참이고 문자일 때 거짓으로 나오게 하는 건 자바스크립트의 isNaN() 함수만 기억이 났다.
구글에서 isNaN 함수와 비슷한걸 찾아냈다. 포스팅 맨 위에 적혀있는 함수가 그 함수이다.
위의 함수를 사용하여 다시 고쳐 보았다.

Adder.jsp 수정02

이렇게 하고 능력자분께 자문했더니 try catch문을 사용할 필요가 없다고 하여 고민고민해본 결과 아래의 결과가 나왔다.

Adder.jsp 수정03

마지막 else 부분에 덧셈하는 부분만 형변환으로 처리하면 굳이 예외처리를 할 필요가 없었던 거였다.

int ↔ String 형변환

1) int → Sting
String s = “0”;
int i = Integer.parseInt(s);

2) String → int
int i = 0;
String s = Integer.toString(i);

스폰서 링크