将标签插入文本区域

时间:2013-08-30 17:54:40

标签: html jsp jstl

如何在textarea中插入一些标签(格式化文字 ... )?

我已经尝试过这段代码,但它并没有真正改变html代码:

<textarea id="textareabuttons${boucle.index}" name="text"
                                rows="6" cols="165" disabled><c:set var="string1"
                                    value="${post.text}" /><c:set var="string2"
                                    value="${fn:replace(string1, 
                                '<gras>', '<strong>')}" /><c:set
                                    var="string3"
                                    value="${fn:replace(string2, 
                                '</gras>', '</strong>')}" /><c:set
                                    var="string4"
                                    value="${fn:replace(string3, 
                                '<italique>', '<em>')}" /><c:set
                                    var="string5"
                                    value="${fn:replace(string4, 
                                '</italique>', '</em>')}" />${string5}</textarea>

1 个答案:

答案 0 :(得分:0)

HTML <textarea>元素默认预先格式化任何内容。因此,您只会看到文字内容而不是解析内容。您无法通过任何属性打开或关闭它,更不用说CSS了。如果要呈现/预览已解析的内容,则应将其放在另一个HTML元素中,例如<div>。如果需要,您可以使用一些CSS使其看起来像一个禁用的textarea(背景颜色,插入边框等)。

当以这种方式重新显示用户控制的输入时,请小心XSS attack holes。考虑Jsoup以通过白名单清理内容。另请参阅How to sanitize HTML code to prevent XSS attacks in Java or JSP?