如何从bean中的字符串字段在html页面上呈现JSF标记



如何像HTML标签一样呈现JSF标签?

例如,我有一些html代码在字符串字段:

<pre>String code = "example <br/> example";</pre>

如果我使用

<pre><h:outputText value="#{bean.code}" escape="false"/></pre>

我将得到

<pre>example
example</pre>

现在我想以同样的方式渲染jsf组件。例如:

 <pre>String code = '<h:button value="something" action="something"/>';</pre>

但它将呈现原样。我认为它必须首先由JSF servlet转换为html标记。我如何以这种方式呈现JSF控件呢?我有文本包含大量的JSF控件(文章)存储在数据库中,我需要方便地呈现JSF控件。

这是一个非常糟糕的主意。JSF标签必须放在Facelet文件中,文本必须放在DB中。在将文本存储到DB之前,不应该手动向文本添加JSF标记。您应该在Facelet文件中执行此操作,同时显示来自DB的文本。这就是MVC的"V"应该是如何工作的。

如果你真的坚持这样做(这很容易受到安全攻击,你必须做很多验证来防止这种情况),那么你能做的最好的事情就是创建一个Facelets ResourceResolver,它从DB获取数据,将其保存为Facelet文件在内存或磁盘上,并返回URL给它。

相关内容

  • 没有找到相关文章

最新更新