What is the simplest, fastest way to create a String object (I suppose) that contains HTML (with correct encoding), which I can return for example in @ResponseBody
(Spring MVC) ?
There can be several approaches.
First you can use String, or StringBuilder. This is good for extremely short HTMLs like <html>Hello, <b>world</b></html>
.
If HTML is more complicated it is easier to use some API. Take a look on these links:
http://xerces.apache.org/xerces-j/apiDocs/org/apache/html/dom/HTMLBuilder.html
Java HTML Builder (anti-template) library?
or search html builder java
in google.
Other possibility is templating. If you actually have a template where you wish to replace a couple of words you can write your HTML as an *.html
file with {0}
, {}
marks for parameters. Then just use java.text.MessageFormat
to create actual HTML text.
The next approach is to use "real" template engine like Velocity.
Does this work for you?
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();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With