html tag를 데이터베이스에 저장하기위해 특수문자를 변환해야 하는 경우가 발생합니다. DB에 저장을 했으니 웹 페이지에 뿌릴때는 반대의 작업을 해야 하는데 이때 Spring을 사용한다면 특별히 라이브러리를 설치하지 않고도 변환이 가능합니다.
간단한 예제를 살펴 보면
import org.springframework.web.util.HtmlUtils; String tag ="<HTML> <table><tr><div> &"; String esc = HtmlUtils.htmlEscape(tag); String uesc = HtmlUtils.htmlUnescape(esc); System.out.println("escape : " + esc); System.out.println("uescape : " + uesc); |
이렇게 "<HTML> <table><tr><div> &” HTML 문서가 있는 경우 htmlEscape 와 htmlUnescape 함수를 이용하면
escape : <HTML> <table><tr><div> & uescape : <HTML> <table><tr><div> & |
이렇게 쉽게 변환이 가능 합니다.
만약 일반적인 특수 기호나 숫자, 알파벳을 변환하려고 하면 어떻게 될까요?
String sTag = "( ) \\ [ ] { } ! @ $ % ^ * 1 2 3 A B C"; String sEsc = HtmlUtils.htmlEscape(sTag); String sUesc = HtmlUtils.htmlUnescape(sEsc); System.out.println("escape : " + sEsc); System.out.println("uescape : " + sUesc); |
escape : ( ) \ [ ] { } ! @ $ % ^ * 1 2 3 A B C uescape : ( ) \ [ ] { } ! @ $ % ^ * 1 2 3 A B C |
아쉽게도 아무런 변화가 없습니다.
그럼 escape 문자를 변환하면
String nTag = "( ) \ [ ] { } 1 2 A B "; String nUesc = HtmlUtils.htmlUnescape(nTag); System.out.println("escape : " + nUesc); |
uescape : ( ) \ [ ] { } 1 2 A B |
잘 변환이 됩니다.
그런데 굳이 일반 문자나 숫자를 변환할 일은 많지 않을것 같군요.
- copy coding -
'Java' 카테고리의 다른 글
java 폴더와 파일 목록 출력 (2) | 2022.08.29 |
---|---|
삼항 연산자, 조건 연산자, 물음표(?) 조건문 정리 (0) | 2022.04.27 |
[Firebase] Spring Boot에서 Firestore 데이베이스 CRUD 테스트 (0) | 2020.06.13 |
[ObjectMapper] VO를 JSON 형태의 String으로 변환 (0) | 2020.05.10 |
Spring Boot Scheduler @Scheduled 이용한 Batch 작업 (0) | 2020.05.02 |