2011-07-28 15 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>Hello, <b>world</b></html>のような非常に短いHTMLに適しています。

HTMLが複雑な場合は、一部のAPIを使用する方が簡単です。これらのリンクを見てみましょう:

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

Java HTML Builder (anti-template) library?

やGoogleでhtml builder javaを検索します。

その他の可能性はテンプレートです。あなたが実際にいくつかの単語を置き換えるテンプレートを持っている場合は、、{}のパラメータを持つ*.htmlファイルとしてHTMLを書くことができます。次に実際のHTMLテキストを作成するのにjava.text.MessageFormatを使用してください。

次のアプローチは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(" HelloŁódź ");' – marioosh

関連する問題