0

请问如何在 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>
4

1 回答 1

0

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

以这种方式重新显示用户控制的输入时,请注意XSS 攻击漏洞。考虑Jsoup通过白名单清理内容。另请参阅如何清理 HTML 代码以防止 Java 或 JSP 中的 XSS 攻击?

于 2013-08-30T18:04:12.183 回答