1

我将我的网站内容保存为我的数据库中的纯 html。它只是简单的数据,用户无法输入。我喜欢按如下方式显示内容:如果 content.jsf?Sitename 被调用,我想显示站点“Sitename”的内容。我已经将内容保存在我的 ApplicationScoped Bean 中。内容.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>

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

我怎样才能使这项工作?

4

1 回答 1

3

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

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

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

如果这涉及用户控制的数据,请注意潜在的XSS 攻击漏洞。

于 2013-01-27T16:50:59.700 回答