我正试图在输入文本区域显示一个可点击的超链接这可能吗?如果没有,我怎么能在没有输入文本区域但效果与文本区域相同的情况下完成它?
这在HTML <textarea>
元素中是不可能的,所以JSF <h:inputTextarea>
已经不能为您做太多了。
如果您不需要它是可编辑的,只需使用<h:outputText escape="false">
不转义HTML即可。
<h:outputText value="#{bean.value}" escape="false" />
如果需要的话,引入一些CSS,使其看起来像一个文本区域,例如
.someClass {
display: block;
width: 300px;
height: 100px;
border: 1px solid gray;
white-space: pre;
}
然而,当涉及用户控制的输入时,要小心XSS攻击!在输入上运行Jsoup#clean()
可能对此有所帮助。
但是,如果您需要它是可编辑的,那么您基本上需要一个HTML编辑器组件。标准的JSF组件库没有附带这样的组件。前往具有<p:editor>
的第三方组件库,如PrimeFaces。