Hello, i'd like some informations on how to get xwiki + velocity to render properly a form containing a prefilled <textarea>. I have tried several way and, in the end, i ended up using a groovy script, which requires developper priviledge. All other options i tried had issues. Could someone tell me if there is a way to get it to work with. I have a variable X, i want content of X to be html escaped (eg <b> becomes <g;b>) and output in the final document between <textarea> </textarea> tags. So far, i attempted the following {{velocity}} #set($test = "**hello**<b>test</b>") {{html clean="false" xwiki="false"}} <textarea cols="75" rows="2" name="description">$test</textarea> {{/html}} {{/velocity}} {{velocity xwiki="false"}} #set($test2 = "**hello2**<b>test</b>") {{/velocity}} {{html clean="false" xwiki="false"}}<textarea cols="75" rows="2" name="description">{{/html}}{{velocity xwiki="false"}}${test2}{{/velocity}}{{html clean="false" xwiki="false"}}</textarea>{{/html}} {{velocity xwiki="false"}} #set($test3 = "**hello3**<b>test</b>") {{/velocity}} {{html clean="false" xwiki="false"}}<textarea cols="75" rows="2" name="description">{{/html}}{{velocity xwiki="false"}}${test3}{{/velocity}}{{html clean="false" xwiki="false"}}</textarea>{{/html}} {{groovy}} test4 = org.apache.commons.lang.StringEscapeUtils.escapeHtml("**hello4**<b>test</b>"); {{/groovy}} {{velocity xwiki="false"}}{{html clean="false" xwiki="false"}}<textarea cols="75" rows="2" name="description">${test4}</textarea>{{/html}}{{/velocity}} And got the following renders (html sources) < textarea cols = "75" rows = "2" name = "description" >**hello**<b>test</b></ textarea > < textarea cols = "75" rows = "2" name = "description" ><strong>hello2</strong><b>test</b></ textarea > < textarea cols = "75" rows = "2" name = "description" ><strong>hello3</strong><b>test</b></ textarea > < textarea cols = "75" rows = "2" name = "description" >**hello4**<b>test</b></ textarea > As you can see: option 1 left <b></b> tags as is, which can lead to html injection vulnerability of my form. option 2 and 3 replaced ** with <strong> which mean we alter user input :/ option 4 works but requires developper priviledges. :/ David Delbecq