如何在h:inputTextarea中显示HTML

时间:2010-10-22 10:50:00

标签: jsf

如何在h:inputTextarea内使用HTML标记显示值? 在DB中我有列包含数据,它包含纯文本和HTML标记,我想在h:inputTextarea上显示它。我该怎么办?

2 个答案:

答案 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