IT/Jsp

jsp - form 태그에서 서버로 값 넘길 때 한글깨짐 처리 (get, post 방식)

노마드오브 2018. 9. 3. 23:27

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<h1>testForm2.jsp 페이지</h1>

<hr>

<form action="testPro2.jsp" method="post">

이름: <input type="text" name="name"><br>

나이: <input type="number" name="age" min="0" max="200"><br>

<input type="submit" value="전송">

</form>

</body>

</html>



<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<h1>testPro2.jsp 페이지</h1>

<hr>

<%

/*

get방식 한글처리:

server.xml 설정파일 -> <Connector>태그에 URIEncoding="UTF-8" 속성 추가

post방식 한글처리:

*/

// request의 post 파라미터값 한글처리

request.setCharacterEncoding("utf-8");


String name = request.getParameter("name");

String strAge = request.getParameter("age");

// 문자열 나이 => 정수형 나이

int age = Integer.parseInt(strAge);  

%>

이름 : <%=name %><br>

나이 : <%=strAge %><br>


<%

// 나이가 20세 이상이면 ...님의 나이는 20세 이상입니다.

// 나이가 20세 미만이면 ...님은 미성년자입니다.

if (age >= 20) {

out.println("나이가 20세 이상이면 " + name + "님의 나이는 20세 이상입니다.");

} else {

out.println("나이가 20세 미만이면 " + name + "님은 미성년자입니다.");

}

%>

<br><br>

<%

if (age >= 20) {

%>

<%=name %>님의 나이는 20세 이상입니다.

<%

} else { // age < 20

%>

<%=name %>님은 미성년자입니다.

<%

}

%>

<br><br>


</body>

</html>