我正在为一个研究小组的内部管理建立一个网站。该网站背后的概念是任何人都可以加载包含要包含在网页中的信息的字段和格式的数据模型。 此外,我有一组 View (用于管理不同的数据模型)和一组模板(HTML4、HTML5、用于移动/平板设备的不同外形规范)。
我正在使用 mongo 作为数据库。
该网站以 URL 为中心。用户定义一个网页并在该站点可用的 url 空间范围内为其分配一个 URL。因此,当请求到达网站时, View 提供者会为该请求分配一个 View (并且该 View 在代码中硬编码了模板)。
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ice="http://www.icesoft.com/icefaces/component"
xmlns:ply="http://java.sun.com/jsf/composite/pervasive/layout"
template="/WEB-INF/templates/siteconfiguration/datamodelloader.tmpl.jspx">
如上例所示,我将 View 和模板都存储在 WEB-INF 文件夹中,我希望将它们存储在数据库的不同集合中。我想告诉 JSF 它们在哪里,或者向 JSF 提供包含模板和 View 的输入流或字节数组,而不是将它们放在 WEB-INF 文件夹中。这样,我可以更方便地编辑、删除或更新它们。
然而,我迷路了。你能帮帮我吗?
谢谢
最佳答案
您可以注册自定义 ResourceResolver (另请参阅 this 答案)并使其指向一个 servlet,它将返回一个动态生成(或从数据库中获取)的 View 。
关于java - 从其他位置(数据库、http...)加载 JSF facelets 文件(模板、 View ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12759245/