2012-08-07 15 views
0

저는 일반적으로 Java로 웹 개발을 처음 사용하지만 자바 프로그래밍에 대한 배경 지식이 있으므로 App Engine의 Java 버전을 선택했습니다. 그 전에는 PHP와 관련된 웹 프로젝트 만있었습니다.App Engine에서 HTML 양식 처리 (Java)

App Engine에서 내 서블릿으로 보내어 제대로 벗어나는 HTML 양식을 처리하는 우아한 방법이 있습니까? App Engine 문서의 예는 사용자에게 정보를 표시하는 jsp에서 XML을 이스케이프 처리하는 것을 의미하지만 우발적 인 오류를 최소화하기 위해 데이터 저장소에 XML이없는 깨끗한 텍스트를 갖고 싶습니다.

저는 현재 Apache Commons 패키지의 StringEscapeUtils를 사용하고 있지만, 내 응용 프로그램과 함께 commons-jars를 배포해야하므로 App Engine에 포함 된 솔루션을 선호합니다. 문자열을 구문 분석하기 위해 정규 표현식을 사용하는 유일한 다른 방법입니까?

+0

무엇에서 벗어나고 싶습니까? 전혀 명확하지 않습니다. –

+0

양식과 함께 제출할 수있는 모든 HTML/XML 컨텐트. 정보의 일부는 나중에 사이트에 표시됩니다. – Raptor

답변

0

사용자가 보낸 메시지를 이스케이프하면 안됩니다. 그대로 놔두고 그대로 데이터베이스에 저장하십시오. 이 데이터는 좋은 이유로 XML 일 수 있으며 HTML 이스 케이 핑에 신경 쓰지 않는 웹 애플리케이션이 아닌 다른 데이터가 데이터를 사용할 수도 있습니다. webapp에서도 JSON 객체의 일부로 전송할 수 있습니다. 여기서 JSON 객체는 HTML 이스케이프가 필요하지 않습니다.

이 데이터가 포함 된 HTML 페이지를 생성 할 때 HTML 특수 문자를 이스케이프 처리하여 모든 것이 올바르게 표시되도록해야합니다. StringEscapeUtils는 문제가 없으며 응용 프로그램과 jar 파일을 번들링하는 것이 정상입니다. JSP를 사용하여 HTML 마크 업을 생성하는 경우 JSTL <c:out> 태그 또는 JSTL fn:escapeXml() 함수를 사용하십시오.

commons-lang 라이브러리를 임베드하지 않고 Java로 만들려면 직접 필터링을 구현하십시오. <, >, ', "&을 해당 HTML 항목으로 바꾸면됩니다. 너무 열심히해서는 안됩니다.

+0

좋아요,이 경우 데이터를 저장하고 표시 할 때 데이터를 이스케이프하는 것이 가장 좋습니다. 그렇다면 Google의 문서가 완전히 이해됩니다. 감사합니다. – Raptor

+0

알았어. 데이터는 데이터입니다. 그것을 디스플레이하는 방식에 맞게 조정하십시오. 그러나 손상시키지 마십시오. –

관련 문제