JSF 2 - 在jsf-template中显示简单的html

时间:2013-01-27 16:13:11

标签: html jsf-2 facelets

我的网站内容在我的数据库中保存为普通html。只有简单的数据才能从用户输入。 我想将内容显示如下: 如果content.jsf?Sitename被调用我想显示网站“Sitename”的内容。 我已经在ApplicationScoped Bean中保存了内容。 content.xhtml:

<ui:composition template="template/common/commonLayout.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets">
<ui:define name="content">
//show content here
</ui:define>
</ui:composition>

我想这样做是因为我想在不重新部署整个应用程序的情况下添加新的页面/子页面。

我该如何做到这一点?

1 个答案:

答案 0 :(得分:3)

您可以使用<h:outputText escape="false">显示bean属性中的纯HTML。

<h:outputText value="#{yourApplicationScopedBean.html}" escape="false" />

如果要对其进行参数化,请使用传递方法参数的EL 2.2功能,或使用Map

如果这涉及用户控制的数据,请注意潜在的XSS attack holes