15주차 - jsp (8) jstl을 사용하여 인코딩을 바꿔보자

2022. 10. 14. 19:30jsp/jsp

이번의 목표

01. jstl을 사용하여 인코딩을 바꿔보자.


01. jstl을 사용하여 인코딩을 바꿔보자.

<form> 타입에 대해 배울때 method="POST" 속성을 이용하여 POST형식으로 데이터를 전송하는 것을 배웠습니다.

이때 데이터에 한글이 있을때 전송받은 페이지에서 제대로 확인하지 못하는 문제가 있었습니다.

이것을 해결하기 위해 request.setCharacterEncoding("UTF-8") 를 사용하여 인코딩을 해줬습니다.

jtl에서는 이것도 대체하여 코드 작성이 가능합니다.

인코딩을 바꿔주기 위해서는 taglib을 이용하여 fmt를 연결시켜줘야합니다. 코드는 아래와 같습니다.

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

 

그리고 실제로 인코딩을 변경해주는 코드는 아래와 같습니다.

<fmt:requestEncoding value="utf-8"/>

 

코드의 길이가 크게 차이가 나는 것은 아니지만 지시자 태그의 경우 html 태그와 색상이 달라 가독성이 떨어지기 때문에 jstl을 사용하는 것이 가독성을 위해 좀더 낫다고 합니다.

이 부분은 개개인마다의 차이가 있을 수 있습니다.

 

01. 데이터 전송 페이지 코드
02. 데이터 출력 페이지 코드
03. 실행 화면

 

01. 데이터 전송 페이지 코드

	<form action="ex07_result.jsp" method="post"><br>
		<input type="text" name="id" placeholder="아이디"><br>
		<input type="password" name="pw" placeholder="비밀번호"><br>
		<input type="password" name="confirmPw" placeholder="비밀번호 확인"><br>
		<input type="text" name="name" placeholder="이름"><br>
		<input type="text" name="email" placeholder="이메일"><br>
		<input type="submit" value="회원 가입">
		<input type="reset" value="취소">
	</form>

02. 데이터 출력 페이지 코드

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

<fmt:requestEncoding value="utf-8"/>
<!--
POST 타입으로 데이터를 전송 받을때 인코딩을 처리하는 방법에는 두가지가 있다.
첫째, request.setCharacterEncoding("UTF-8")   // 기존에 배운 방법
둘째, taglib를 이용하여 fmt를 연결시킨 후,
	fmt:requetstEncoding value="UTF-8"
	작성 // 새로운 방법
 -->

   아이디 : ${param.id}<br>
   비밀번호 : ${param.pw}<br>
   비밀번호 확인 : ${param.confirmPw}<br>
   이름 : ${param.name }<br>
   이메일 : ${param.email}<br>

03. 실행 화면

'jsp > jsp' 카테고리의 다른 글

15주차 - jsp(10) action Tag - 1  (0) 2022.10.14
15주차 - jsp (9) <c:url>  (0) 2022.10.14
15주차 - jsp (7) <c:forEach>, <c:choose>  (0) 2022.10.14
15주차 - jsp(6) <c:set> <c:out>, <c:if>  (0) 2022.10.14
15주차 - jsp(5) jstl  (0) 2022.10.14