我有两个JSF2复合组件:<my:modal />
和<my:about />
。<my:modal />
支持内部子级填充模式对话框:
<cc:implementation>
<div class="modal fade" id="#{cc.clientId}" >
<div class="modal-header">
<a class="close" data-dismiss="modal">×</a>
<h3>#{cc.attrs.title}</h3>
</div>
<div class="modal-body">
<div class="well">
<fieldset>
<div class="control-group">
<cc:insertChildren />
</div>
</fieldset>
</div>
</div>
<div class="modal-footer">
<cc:renderFacet name="footer" />
</div>
</div>
</cc:implementation>
因此,开发人员可以通过以下操作来使用它:
<my:about />
标签重新使用模式组件,如下所示:
<cc:implementation>
<div id="#{cc.clientId}">
<my:modal id="#{cc.clientId}:modal">
<h:outputText value="#{cc.resourceBundleMap.ABOUT}" />
</my:modal>
</div>
</cc:implementation>
我遇到的问题是,它在my:modal
组件的资源束中寻找ABOUT
密钥,而不是my:about
组件。我希望它在组件实现的资源包中查找ABOUT
密钥,而不是嵌套组件。
有解决办法吗?
您可以使用parent
来寻址父组件的属性。我从未在资源捆绑包中尝试过。但从理论上讲,你可以。。
更换
<h:outputText value="#{cc.resourceBundleMap.ABOUT}" />
带有:
<h:outputText value="#{cc.parent.resourceBundleMap.ABOUT}" />