如何在h:inputTextarea
内使用HTML标记显示值?
在DB中我有列包含数据,它包含纯文本和HTML标记,我想在h:inputTextarea
上显示它。我该怎么办?
答案 0 :(得分:6)
我想在h里面显示HTML:inputTextArea它意味着在DB中包含
<br/>
或<b>
和</b>
,当它显示在h:inputTextArea时,它必须显示粗体或折线。< / p>
由于HTML <textarea>
元素的性质,这是不可能的。即便如此,如果可能的话,这也会对XSS注入攻击敞开大门。另外,您如何让最终用户在textarea中编辑标记,例如将粗体更改为例如斜体或添加其他标记?使用<textarea>
,这显然是不可能的。
如果您的唯一目的是拥有一个富文本编辑器,那么您需要在<div>
的帮助下创建一个以及良好的JavaScript镜头,或者更好地使用现有的JSF组件实现了这一点。例如,PrimeFaces'<p:editor>
。
或者,如果您的唯一目的是仅显示,则使用<h:outputText>
属性设置为escape
的{{1}}。再一次,记住XSS的风险。
答案 1 :(得分:-1)
使用f:verbatim标签 - &gt; JSF Verbatim Tag