从dbms我得到像<font color="red"> abc</font>
这样的东西。当它到达我的xhtml文件中的${someManagedBean.someValue}
时,输出被清理。对于99,999%的案例来说,这是非常好的。
问题:是否有某种方法可以禁用此自动转义功能?
奖金问题:我可以只允许使用HTML并禁止使用javascript吗?
答案 0 :(得分:13)
<h:outputText value="#{someManagedBean.someValue}" escape="false" />
答案 1 :(得分:5)
https://docs.oracle.com/javaee/7/javaserver-faces-2-2/vdldocs-facelets/h/outputText.html
escape=false
不确定是否仅限制JS。您可能必须自己解析HTML以删除<script>
和内容。
编辑 - 删除了链接(http://www.jsftoolbox.com/documentation/help/12-TagReference/html/h_outputText.html),因为它已过时。替换为Oracle链接。
答案 2 :(得分:0)
outputFormat标签可以帮到你。 请检查http://www.mkyong.com/jsf2/jsf-2-outputformat-example/