반응형
 \n만 치환하면 안된다 \r\n 전부다 해줘야 한다.--(이것 때문에 고생했슴)

1. textarea 에 엔터값을 그냥 DB에 넣어서 처리 할 경우

---------------------------------------------------

DB상에는 엔터값이 먹힌 상태로 들어간다. 그 값을 나중에 html 코드에 가져오면

그냥 한줄로 출력이 된다.

이 때 <pre>태그를 써서 줄바꿈이 먹게 만들면 될것이다.

하지만 잘 살펴보면 DB상에 저장된 데이터에서 맨 마지막에 엔터가 한번 더 들어가 있는 것을 볼 수 있을 것이다. 따라서 내가 원하는 이쁜 배열은 안나온다..


2. textarea에서 엔터값을 치환<권장하는 방법이다>

----------------------------------------------------

이 부분은 여러 문서가 있다. asp,php,jsp의 처리 방법이 같지 않은거 같다.

여기서 사용하는 함수는 replace 함수이다(함수에 대한 설명은 찾아보삼)

textarea의 name 값이 contents 라 한다면,

그 값을 받는 부분에서 변환을 한다.

(실질적인 JSP 코드가 들어가있는 부분을 말한다.)


String content = request.getParameter("contents");

 전페이지에서 DB쿼리 실행하는 페이지에서 쓴다.

이 부분을 통해 textarea 값을 받아올 수 있따.

textarea 상에서 엔터는 어떤문자로 인식이 되냐면

\r\n 으로 표시가 된다.

이것을 치환을 한다!


contents = contents.replace("\r\n","<br>");

이렇게 하면 엔터가 DB상에 <br>로 바껴서 저장이 되고, html 코드에 가져올 때 자동적으로 <br>태그가 먹혀서 줄바꿈이 된다.


이 방법을 쓴다면, 이 값을 불러오는 페이지에서 아무 처리를 안해도 원하는 결과를

얻을 수 있다

Posted by 1010