【问题标题】:Include of external content in XHTML在 XHTML 中包含外部内容
【发布时间】:2012-10-02 13:56:10
【问题描述】:

通常我们使用 Facelet 的模板机制在每个页面上包含相同的标题。但是在当前的项目中,所述标头的内容是从另一台服务器提供的。有没有办法在 XHTML 页面中包含来自另一个 URL 的此类内容?

(我看到一篇带有similar topic 的帖子,但 ui:insert(页面内容不在 WAR 中)和 ui:include(仅在 WAR 中可能引用)似乎都不合适。)

【问题讨论】:

    标签: java jsf-2 facelets java-ee-6


    【解决方案1】:

    正如您在this question 中看到的,您需要编写自己的自定义 Facelets 资源解析器,以便它可以从 url 解析。

    【讨论】:

    • 感谢您的提示,但答案建议将共享内容放在某处 - 但在我的情况下,共享内容不在我的控制之下,而是由另一台服务器维护,必须由网址。
    • 而且不一样是因为?您将从 URL 导入文件。
    • 好的,所以你是说如果要解析的路径已经是一个完整的 URL,它只是被采用,如果不是使用默认机制从 WAR 中解析?但是,它是如何在我的 XHTML 模板页面中首先引用的?在我的情况下,我不需要从 URL 中获取模板,而是在模板中引用来自另一个 URL 的内容(例如标题)。
    • Ok, so you're saying in case the path to resolve is already a full URL it is just taken and in case not it is resolved from WAR with the default mechanism? 这取决于你如何实现你的 facelet 解析器
    • But still, how is it referenced in my XHTML template page in the first place? In my case I don't need the template to be taken from the URL, but to reference content within the template (e.g. the header) which comes from another URL. 你可以使用nested templates。只需在其中放置一个 ui:insert (放置标题的位置)制作第一个模板,然后在其中定义(使用 ui:define)要检索标题的 url 的第二个模板。
    猜你喜欢
    • 2021-10-31
    • 1970-01-01
    • 2011-02-19
    • 2014-01-19
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 2018-11-01
    • 1970-01-01
    相关资源
    最近更新 更多