form:textarea 에서의 줄바꿈 문제 외
- 작성자 :
- 김*욱
- 작성일 :
- 2015-03-05 20:14:56
- 조회수 :
- 1,256
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
1. form:textarea 에서의 줄바꿈 문제
textarea 에서 저장 후 웹상 표시에서 줄바꿈이 안되는 문제에 대해서 검색해보니
pre 태그로 감싸 표시하거나, 또는 줄바꿈 문자를 <br/> 로 치환해서 저장하라는 해결책을 보고 후자로 적용하였습니다. (디비에 <br/>로 저장시킵니다.)
그런데 일반 textarea 에서 볼 때는 제대로 줄바꿈이 되는데, 수정화면 같은 경우 <form:textarea 를 쓰는 곳에서는 그냥 <br/>로 보입니다.
(여기서는 <pre> 로 둘러싸 봐도 될 수 없는 상태라 안됩니다.)
이런 경우는 어떻게 해야 할까요.
2. 특수문자 저장/표시문제
' "" < 등의 웹 문자도 다른 문자로 치환되서 저장/표시 되는 문제도 있어서 해결책을 검색해보다 딱히 적용되는 방법이 없어서
결국 컨트롤러에서 변환하여 저장시켜 해결했는데요. (즉, 예를 들면: & apos ; -> ' ) 로 치환하여 저장)
이 부분은 해결은 됐지만 향후 프레임워크 수준에서 깔끔한 해결방안이 나올 수 없을지 궁금합니다. (1번 문제도 마찬가지입니다.)
(기본적인 문제들인데 개발자들인 너무 꼼수를 찾아 헤맬 수 밖에 없는 문제 같아서요.)
textarea 에서 저장 후 웹상 표시에서 줄바꿈이 안되는 문제에 대해서 검색해보니
pre 태그로 감싸 표시하거나, 또는 줄바꿈 문자를 <br/> 로 치환해서 저장하라는 해결책을 보고 후자로 적용하였습니다. (디비에 <br/>로 저장시킵니다.)
그런데 일반 textarea 에서 볼 때는 제대로 줄바꿈이 되는데, 수정화면 같은 경우 <form:textarea 를 쓰는 곳에서는 그냥 <br/>로 보입니다.
(여기서는 <pre> 로 둘러싸 봐도 될 수 없는 상태라 안됩니다.)
이런 경우는 어떻게 해야 할까요.
2. 특수문자 저장/표시문제
' "" < 등의 웹 문자도 다른 문자로 치환되서 저장/표시 되는 문제도 있어서 해결책을 검색해보다 딱히 적용되는 방법이 없어서
결국 컨트롤러에서 변환하여 저장시켜 해결했는데요. (즉, 예를 들면: & apos ; -> ' ) 로 치환하여 저장)
이 부분은 해결은 됐지만 향후 프레임워크 수준에서 깔끔한 해결방안이 나올 수 없을지 궁금합니다. (1번 문제도 마찬가지입니다.)
(기본적인 문제들인데 개발자들인 너무 꼼수를 찾아 헤맬 수 밖에 없는 문제 같아서요.)
A
안녕하세요... 김종욱님.
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<form:textarea path="name" rows="3" cols="20"></form:textarea>
스프링 폼 태그를 이용하시는 방법을 권해드립니다.
미해결시 커스텀 태그를 이용하시면 될것 같습니다.
replaceAll을 이용해서 특수문자를 변환할수 있습니다.
<%
String str = "select * from \"member\" where '%\"test\"%' order by %test2%!&?| \\ ..";
str = str.replaceAll("%","");
str = str.replaceAll("'",""); //'
str = str.replaceAll("\"",""); //"
str = str.replaceAll(",",""); //,
str = str.replaceAll("|","");
str = str.replaceAll("\n","");
str = str.replaceAll("\r","");
str = str.replaceAll("\r\n","");
str= str.replaceAll("'","′"); // 작은 따옴표를 ′ 로 치환
그 외 일반적인 방법외에 프레임워크 수준에서 향후 준비가 되면 update 반영하겠습니다.
감사합니다.
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<form:textarea path="name" rows="3" cols="20"></form:textarea>
스프링 폼 태그를 이용하시는 방법을 권해드립니다.
미해결시 커스텀 태그를 이용하시면 될것 같습니다.
replaceAll을 이용해서 특수문자를 변환할수 있습니다.
<%
String str = "select * from \"member\" where '%\"test\"%' order by %test2%!&?| \\ ..";
str = str.replaceAll("%","");
str = str.replaceAll("'",""); //'
str = str.replaceAll("\"",""); //"
str = str.replaceAll(",",""); //,
str = str.replaceAll("|","");
str = str.replaceAll("\n","");
str = str.replaceAll("\r","");
str = str.replaceAll("\r\n","");
str= str.replaceAll("'","′"); // 작은 따옴표를 ′ 로 치환
그 외 일반적인 방법외에 프레임워크 수준에서 향후 준비가 되면 update 반영하겠습니다.
감사합니다.