Xpages:是否可以在主题中设置一些内容,以便将资源(如 css 或 SSJS 或 CSJS)应用于应用程序中的每个 Xpage /CC

Xpages: is it possible to set something in a theme so that a resource (like css or SSJS or CSJS) is applied to every Xpage /CC in an app

我有一个背景渐变,我想将其应用到继承自此设计的数据库中所有 Xpage 中的每个正文标记。

我将 css 资源放入我的模板中,并修改了主题,以便该资源包含在从该模板继承的每个数据库中:

<resource>
  <content-type>text/css</content-type>
  <href>cc_CommonBackgroundGradient.css</href>
</resource>

是否可以设置一些东西,使应用程序中的每个 Xpage 都自动包含一组资源,除了制作一个只包含这些资源的 CC 并将其包含在每个 Xpage 上的比较明显的方法之外?

要记住的一个方面是主题仅应用于呈现响应阶段。因此,如果您包含 SSJS 库,您将无法在 beforePageLoadafterPageLoad.

中使用它

主题对于将设置默认或覆盖属性应用到特定类型的组件非常有用,例如所有部分的不同 open/close 图像,ViewRoot 组件上的默认 pageName 属性(因此是顶级 XPage 属性)。在增加资源方面。所以 ViewRoot 是您在正文主题中需要的控件名称。

在添加资源等方面,除非我使用 "#{javascript:...} 来计算设置,否则我不关心将它们放在主题中而不是自定义控件中。我通常有一个布局自定义控件。与自定义控件中生命周期的每个阶段相比,动态计算的 SSJS 只会 运行 每个页面在主题中加载/刷新一次(仅在渲染响应中)。如果它是硬编码的,就像在您的示例中一样,自定义控件是一个很好的地方。