// 단어 치환 : 대상변수, 검색할 단어, 변환할 단어 function strReplace(subject, search, replace) { return subject.split(search).join(replace); }; ... // form name="inputForm", textarea name="content" document.inputForm.content.value = strReplace(document.form.content.value , '\n', ''); ... document.inputForm.submit(); jsp에 textarea 에서 입력값을 넣을때 말고 java에서 문구를 만들어 넣을 때가 있다. 이럴 때 엔터값을 넣고싶다면 아래와 같이 하면 된다. StringBuffer t_data = new StringBuffer(); t_data.append("안녕하세요." + usr_nm + "님!\r\n"); t_data .append("만나서 반갑습니다 !\r\n"); 이런식으로 \r\n 을 입력하면 엔터로 치환되서 db 에 저장된다. 안녕하세요 이번에는 DB에 text 내용을 저장 후 사용할때 줄바꿈 처리에 대해 간단히 알려드리고자 합니다.
일단 입력 부분에서 엔터를 사용합니다.
이렇게 DB에 저장 후 그대로 가져오면 다음과 같습니다.
이렇게 줄바꿈이 적용되지 않은채로 나오는 경우가 있습니다.
원인은 다음과 같습니다
DB에 저장시 "\n" 로 인식하기 때문에 jsp에서 엔터는 <br>태그로만 인식하기 때문에 표시가 안되는 현상입니다.
해결방법으로는 크게 2가지가 있습니다.
저장할때 개행문자를 변경 or 저장 후 사용할 때 개행문자를 변경
입니다.
저는 저장은 그대로 하고 데이터를 불러올 때 처리를 소개하도록 하겠습니다.
저장 후 사용시에도 2가지 방법으로 알려드리겠습니다.
1. JAVA 단에서 변경 2. JSP 단에서 변경(jstl 이용)
으로 각각 알려드리도록 하겠습니다.
1. JAVA단에서 변경
JAVA에서는 다음과 같이 replace 함수를 이용하면 됩니다.
저는 스프링에서 사용하기 때문에 VO에 데이터를 담아 사용하는데요.
해당 내용을 가져와 replace 함수로 변경하여 바로 다시 저장하게끔 설정을 합니다.
2. JSP 단에서 변경(jstl 이용)JSP에서는 fn 함수를 이용합니다.
우선 JSP 상단에 라이브러리를 다음과 같이 작성하여 추가합니다.
그리고 사용할 부분에 다음과 같이 작성합니다.
구현 결과를 보시면 다음과 같습니다.
참고로 jstl로 반대로 하는 방법은 다음과 같습니다.
아까와 마찬가지로 상단에 선언시 <br/> -> <br> 로 변경
\n을 사용하기 위해서 \\를 두번 사용해야 합니다.
이렇게 사용하시면 아까와 반대로 변경이 가능합니다.
자 이렇게 스프링에서 java, jstl을 이용한 방법을 알려드렸습니다.
본인이 좋아하시는 방법에 맞게 사용하시면 될것 같습니다.
감사합니다. 공유하기 게시글 관리 구독하기배씨의 프로그래밍저작자표시
'프로그래밍 > 스프링[Spring]' 카테고리의 다른 글[자바스크립트] append, prepend, after, before 설명과 사용방법 (0)2019.08.09[jsp] function(e) 에서 e 는 무엇인가? (0)2019.07.31자바 날짜[Date] 비교하는 방법[스프링] (0)2019.07.09[스프링] 스프링 시큐리티 핸들러 생성하기[로그인 성공/실패 처리] (0)2019.07.05네이버 클라우드 플랫폼 - 새로운 네이버 지도 이용하기 (0)2019.07.03파이어베이스로 자바스크립트(javascript) 관련 토이프로젝트 진행하던 도중 유저로부터 받은 text input에 줄바꿈 문자를 DB에 저장할 때 어떻게 저장하고 그렇게 DB에 저장된 text를 화면단으로 가져올 때는 어떻게 처리해서 가져와야 하는지 몰라서 해당 문제에 대한 해결책을 담고 있는 사이트들을 공유한다.
MDN - innerText 속성
https://developer.mozilla.org/ko/docs/Web/API/HTMLElement/innerText
Node.innerText - Web API | MDN HTMLElement 인터페이스의 innerText 속성은 요소와 그 자손의 렌더링 된 텍스트 콘텐츠를 나타냅니다. developer.mozilla.org
input태그는 아니고, textarea 태그에서 엔터값을 자동 줄바꿈으로 처리하는 방법
https://webprogrammer.tistory.com/1271
html textarea 에서 엔터 값을 자동 줄바꿈으로 처리하는 방법 \n만 치환하면 안된다 \r\n 전부다 해줘야 한다.--(이것 때문에 고생했슴) 1. textarea 에 엔터값을 그냥 DB에 넣어서 처리 할 경우 --------------------------------------------------- DB상에는 엔터값이 먹.. webprogrammer.tistory.com
정규식을 이용한 개행문자 치환
https://rockdrumy.tistory.com/1369
[JavaScript] TEXTAREA 줄바꿈 저장 그냥 아무런 조치없이 저장하고 조회하게되면 줄바꿈이 안먹히고 한줄로 조회가 된다. 그걸해결하기위해 저장할때는 이렇게 정규식을 이용해 줄바꿈을 태그로 바꾸고 저장. $('#text').val().replace( |