2011-07-28 3 views
4

@ResponseBody (Spring MVC)에서 반환 할 수있는 HTML (올바른 인코딩 포함)이 포함 된 String 객체를 만드는 가장 간단하고 빠른 방법은 무엇입니까?Java 코드로만 HTML 빌드하기

+0

당신이 HTML에서 무엇을 만들지에 따라 다르지만, 질문에서 언급 한 것에서부터 나는 StringBuilder를 말할 것입니다! – Shaunak

+0

[SO 대답] (https://stackoverflow.com/a/45713037/8429746) 도움이됩니다. – RRadley

답변

5

몇 가지 접근법이있을 수 있습니다.

먼저 String 또는 StringBuilder를 사용할 수 있습니다. 이는 매우 짧은 HTML 인 <html>Hello, <b>world</b></html>에 유용합니다.

HTML이 더 복잡하면 일부 API를 사용하는 것이 더 쉽습니다. 이 링크를 살펴 보자 :

http://xerces.apache.org/xerces-j/apiDocs/org/apache/html/dom/HTMLBuilder.html

Java HTML Builder (anti-template) library?

또는 구글에 html builder java를 검색 할 수 있습니다.

다른 가능성은 템플릿입니다. 두 단어를 대체하려는 템플릿이 실제로있는 경우 *.html 파일로 {0}, {} 개의 매개 변수로 HTML을 작성할 수 있습니다. 그런 다음 java.text.MessageFormat을 사용하여 실제 HTML 텍스트를 만드십시오.

다음 방법은 Velocity와 같은 "실제"템플릿 엔진을 사용하는 것입니다.

5

이 기능이 유용합니까?

StringBuilder htmlBuilder = new StringBuilder(); 
htmlBuilder.append("<html>"); 
htmlBuilder.append("<head><title>Hello World</title></head>"); 
htmlBuilder.append("<body><p>Look at my body!</p></body>"); 
htmlBuilder.append("</html>"); 
String html = htmlBuilder.toString(); 
+0

인코딩은 어떻게됩니까? – marioosh

+0

인코딩 할 때 UTF-8을 의미합니까? 또는 ">"건? – Alvin

+0

예, UTF-8입니다. 'htmlBuilder.append (" 안녕하세요 Łódź")와 같은 것을 말합니다. – marioosh