0

StackOverflow 上的这个问题让我对主题很感兴趣。但是问题中的示例只是将主题文件中的 CSS 类分配给 themeId,然后将其分配给 XPage 上具有相应 themeId 的元素。我也可以直接将类名分配给 XPage 中的组件。

所以我的第一个问题是主题给 XPage 带来了什么好处?

我试图探索可以通过主题分配哪些其他属性,似乎我们可以在主题文件中分配其他属性valign,如下所示:style

<control>
    <name>HtmlTd</name>
    <property>
        <name>styleClass</name>
        <value>tdclass</value>
    </property>
    <property>
        <name>style</name>
        <value>font-family: Courier</value>
    </property>
    <property>
        <name>valign</name>
        <value>top</value>
    </property>
</control>

上面的代码实际上为XPage中的所有标签设置了valignand 。所以我的第二个问题是可以通过主题设置所有属性?style<td>

4

2 回答 2

4

主题非常强大。几乎 XPages 中的每个控件实际上都是一个 bean,这意味着您可以使用主题设置几乎所有的属性(请参阅 Paul 的回答中对此的澄清)。

这里有一些有用的资源:

于 2012-09-28T06:22:39.803 回答
2

只是为了澄清 Per 的答案,您几乎可以设置所有内容。那是因为在渲染响应阶段应用了主题。

您不能在 SSJS 设置为在页面加载时运行时覆盖 XPage 上的属性。这是因为设置了静态值,所以没有应用运行时绑定。

您不能设置在呈现响应之前需要知道的任何内容,例如重复控件的 var 属性。

渲染响应阶段是为什么它对性能更好。如果您使用 SSJS 计算 XPage 上的值,则在部分刷新期间会计算多次。如果它在主题中,则仅在渲染响应期间计算。

要查看实际中的主题示例,请查看 OpenNTF 并查看 Tim 的 dPloy 项目和我的 XPages Help Application。

于 2012-09-28T07:42:48.360 回答