JSF ui:当组件在同一个项目中时,insertChildren很好,当它在taglib中时失败

时间:2011-09-15 11:05:29

标签: java jsf facelets

我有一个相当简单的JSF组件:

<composite:interface>
</composite:interface>

<composite:implementation>
    <mytaglib:jquery-ui/>
    <h:outputScript target="head" library="com.mytaglib.mytaglib" name="dockwidget/dockwidget.js"/>
    <f:subview>
    <div id="${component.clientId}_div">
        <composite:insertChildren/>
    </div>
    <script>
    $(document).ready(function() {
        setTimeout("$(document.getElementById('${component.clientId}_div')).dockWidget();", 50);
    });
    </script>       
    </f:subview>

我在taglib jar(在Eclipse中链接的maven项目)中包含了mytaglib.taglib.xml中的必需条目。当我以这种方式使用它时,insertChildren似乎没有接收孩子。其他一切都很好 - 包括测试“Hello World”,如果我将它插入控件中的div。

如果我将xhtml文件放在resources / localcontrols下并在我的page.xhtml中引用该副本,它就可以工作,并且包含子组件。

这是正常的吗?

由于   - 理查德

(顺便说一下 - setTimeout因为我的布局javascript运行得太早 - 在子组件完全呈现之前。我想知道JQuery是否有办法正确解决这个问题。)

0 个答案:

没有答案