java - 从其他位置(数据库、http...)加载 JSF facelets 文件(模板、 View )

标签 java jsf-2 facelets

我正在为一个研究小组的内部管理建立一个网站。该网站背后的概念是任何人都可以加载包含要包含在网页中的信息的字段和格式的数据模型。 此外,我有一组 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/

相关文章:

templates - 如何创建带有页眉/页脚/导航的可重用模板?

java - 设置 LayoutParams 时出现 NullPointerException

java - 未调用 Crossfield 验证的自定义类级别约束

java - jni 从 c/c++11 返回字符串数组并在 java 上使用而不在 c++ 端使用 for 循环?

java - JSF 2.0 错误显示 h :messages

带参数的 JSF 托管 bean 重定向,无需查看 URL

java - 如何将 Facelet 包装在 <p :ajax> element 中

jsp - 在 JSF2 项目中混合 JSP 和 XHTML (Facelets) - 可能吗?

java - 在 Hibernate JPA 提供程序中禁用自动版本控制?

java - 使用 Pump 类的 Vert.x 中的简单 TCP 代理 (JAVA)