为什么我要在我的xpages应用程序中使用主题?

为什么我要在我的xpages应用程序中使用主题?,xpages,Xpages,我使用了主题和css。主题对我来说似乎有点限制,而css为布局提供了更多的可能性(除了更大的用户社区) 有人能给我解释一下使用主题的好处吗。集中存储的css做不到的我能得到什么 对于我来说,主题非常强大,可以控制框架的一致外观和加载。 在您的主题中,如果托管bean可用,您还可以直接访问它们。 在我第一次接触主题时,我也在想为什么我应该使用它。但我知道这是我的XPages应用程序的起点。对于我来说,主题非常强大,可以控制框架的一致外观和加载。 在您的主题中,如果托管bean可用,您还可以直接访问

我使用了主题和css。主题对我来说似乎有点限制,而css为布局提供了更多的可能性(除了更大的用户社区)


有人能给我解释一下使用主题的好处吗。集中存储的css做不到的我能得到什么

对于我来说,主题非常强大,可以控制框架的一致外观和加载。 在您的主题中,如果托管bean可用,您还可以直接访问它们。
在我第一次接触主题时,我也在想为什么我应该使用它。但我知道这是我的XPages应用程序的起点。

对于我来说,主题非常强大,可以控制框架的一致外观和加载。 在您的主题中,如果托管bean可用,您还可以直接访问它们。
在我第一次接触主题时,我也在想为什么我应该使用它。但是要知道,这是我的XPages应用程序的起点。

CSS允许您使用别名映射到控件的style属性中的内容

themeId与之类似,它允许您使用别名映射到控件的style属性,但也可以映射到大多数其他属性

将控件引用添加到控件的默认themeId(可以使用SSJS
getComponent(“mycop”).getStyleKitFamily()
)进行检查)允许您对大多数属性进行默认设置或覆盖设置

计算属性时也会带来好处。默认情况下,在部分刷新期间,这些计算将被重新计算多次,以考虑在JSF生命周期的每个阶段所做的更改。但是,主题中的所有属性计算仅在渲染响应阶段进行计算,因此会有性能优势


主题也可以放在服务器上,这样可以进一步减少重复工作。

CSS允许您使用别名映射到控件的style属性中的内容

themeId与之类似,它允许您使用别名映射到控件的style属性,但也可以映射到大多数其他属性

将控件引用添加到控件的默认themeId(可以使用SSJS
getComponent(“mycop”).getStyleKitFamily()
)进行检查)允许您对大多数属性进行默认设置或覆盖设置

计算属性时也会带来好处。默认情况下,在部分刷新期间,这些计算将被重新计算多次,以考虑在JSF生命周期的每个阶段所做的更改。但是,主题中的所有属性计算仅在渲染响应阶段进行计算,因此会有性能优势


主题也可以放在服务器上,这样可以进一步减少重复工作。

除了Frank和Paul提到的,主题还可以包括所有Xpage上需要的任何客户端脚本或字体库(如jQuery、FontAwesome等)。在主题中定义一次,其他一切都会得到它

您可能还想查看Tim Tripcony的幻灯片,以便将主题提升到下一个层次。

Tim的博客文章:为什么大量使用主题会加速XPage的执行:

最后,Tim的博客文章确定了任何组件的主题ID

除了Frank和Paul提到的内容外,主题还可以包括所有XPage上所需的任何客户端脚本或字体库(即jQuery、FontAwesome等)。在主题中定义一次,其他一切都会得到它

您可能还想查看Tim Tripcony的幻灯片,以便将主题提升到下一个层次。

Tim的博客文章:为什么大量使用主题会加速XPage的执行:

最后,Tim的博客文章确定了任何组件的主题ID

主题控制的不仅仅是布局(CSS),你能举一个我不能用CSS和js做的例子吗。我想知道这一点。在这里看到我的答案:通过主题,你可以定义页面标题、favicon、元标记、资源、javascript代码,一次定义一个应用程序,甚至一个服务器上的所有应用程序。在更改主题时,您不需要更改(重建)现有的应用程序,它们是动态处理的。主题控制的不仅仅是布局(CSS)。请给出一个我无法使用CSS和js的示例。我想知道这一点。在这里看到我的答案:通过主题,你可以定义页面标题、favicon、元标记、资源、javascript代码,一次定义一个应用程序,甚至一个服务器上的所有应用程序。当你改变一个主题时,你不需要改变(重建)一个现有的应用程序,它们是动态处理的。你能给我一个例子,为什么我想使用一个主题管理bean吗?我也有CSS的一致的外观和感觉。你能给我一个例子,为什么我想使用一个主题托管bean吗?