【问题标题】:Sling Dynamic Include with DispatcherSling 动态包含 Dispatcher
【发布时间】:2015-01-08 07:50:09
【问题描述】:

我正在查看博客 here 以了解 SDI+Dispatcher 的概念。我通过使用此post 在 apache 上启用 SSI,似乎它可以工作。但是没有得到任何可以实际证明这个概念的材料。我正在使用相同的 geomatrixx 页面来某些用户登录并获取缓存。我如何将唯一的静态部分存储在调度程序缓存中,以及动态组件在运行时将如何呈现。我对我的 apache conf 文件进行了如下更改,但现在正在查看进一步的步骤。在博客中还提到要添加 <!--#include virtual="/includes/header.html" --> 所以我需要在页面组件的 body.jsp 下或 apache 服务器上的某处添加它。

LoadModule dispatcher_module /usr/lib/apache2/modules/dispatcher-apache2.4-4.1.8.so

<IfModule disp_apache2.c>
    <!-- Configurations -->
</IfModule>
 SetOutputFilter INCLUDES
<Directory />

  <IfModule disp_apache2.c>
    SetHandler dispatcher-handler
    ModMimeUsePathInfo On
  </IfModule>
    Options FollowSymLinks Includes
    AllowOverride None

</Directory>

<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews Includes
    AllowOverride None
    Require all granted
</Directory>

谢谢

【问题讨论】:

    标签: aem


    【解决方案1】:

    Sling Dynamic Include 自动将 OSGi 配置中枚举的组件替换为 SSI 包含标记 (&lt;!--#include...),因此您不必在任何 JSP 中编写此标记。

    打开 Apache Felix 控制台,转到 OSGi / 配置 选项卡并创建一个新的 SDI 配置 条目。有关配置属性的更多信息,请参见 on the Github。输入组件的资源类型,从此时起(假设调度程序配置正常),它们将被 SSI 包含标签替换,因此即使整个页面被缓存,也会动态提供服务。

    上述Github repository 包含该模块的最新文档。

    【讨论】:

    • 感谢 Tomek R,我看到了 SDI 配置,这意味着我不需要使用 ssi 配置该组件,就像这里对我来说是 userinfo。现在我设置了两个发布实例,点击页面localhost/content/geometrixx/en.html [via dispather],用一些用户说 jdoe@geometrixx.info 登录。它不显示为登录用户。不像我点击发布localhost:8589/content/geometrixx/en.html然后通过jdoe@geometrixx.info登录然后页面显示我为登录用户,因为我可以通过标题下的userinfo组件查看信息。知道为什么会这样。
    猜你喜欢
    • 2018-05-21
    • 1970-01-01
    • 2014-09-04
    • 2010-10-05
    • 2011-03-29
    • 2015-11-04
    • 1970-01-01
    • 2012-05-17
    • 1970-01-01
    相关资源
    最近更新 更多