Xpages 控件子级的主题设置属性

Xpages 控件子级的主题设置属性,xpages,Xpages,我知道Button.command是普通按钮的主题ID,我可以为它设置属性。我知道EventHandler在默认情况下没有主题ID。因此,为了集中设置eventHandler的属性,我在我的主题中添加了以下内容: <control> <name>Button.EventHandler</name> <property mode="override"> <name>onStart&l

我知道Button.command是普通按钮的主题ID,我可以为它设置属性。我知道EventHandler在默认情况下没有主题ID。因此,为了集中设置eventHandler的属性,我在我的主题中添加了以下内容:

<control>
        <name>Button.EventHandler</name>
        <property mode="override">
            <name>onStart</name>
            <value>loading();</value>
        </property>
        <property mode="override">
            <name>onError</name>
            <value>stoploading();</value>
        </property>
        <property mode="override">
            <name>onComplete</name>
            <value>stoploading();</value>
        </property>
    </control>

Button.EventHandler
启动
加载();
一个错误
停止加载();
未完成
停止加载();
但是我需要将themeId Button.EventHandler添加到每个EventHandler


有没有办法在一个主题中为子主题设置属性,所以在所有作为Button.Command控件的子主题的EventHandler上设置属性?

我无法帮助您解决主题问题,但也许我可以为您解决一般问题

我假设您试图实现的是将一些好的加载程序附加到所有部分刷新事件。这可以通过使用dojo.subscribe API在较低级别上完成:

示例代码:

// we need to activate io events
dojo.config.ioPublish = true
dojo.subscribe("/dojo/io/send", function(/*dojo.Deferred*/dfd){
    loading();
});
dojo.subscribe("/dojo/io/stop", function(){
    stoploading();
});
此代码必须在应用程序启动时运行(onClientLoad事件就可以了)