gpt4 book ai didi

jsf - 更改复合组件的命名空间

转载 作者:行者123 更新时间:2023-12-02 03:37:50 25 4
gpt4 key购买 nike

我有一个包含一些自定义 JSF 组件的小型库 (JAR)。其中一些是完全(或部分)在位于 META-INF/resources/my-components 下的 XHTML 文件中实现的复合组件。要使用来自其他 XHTML 文件的这些组件,我必须使用 XML 命名空间 http://xmlns.jcp.org/jsf/composite/my-components

此库中的其他相关组件使用 @FacesComponent(和 @FacesRenderer)实现为 POJO。要使用这些组件,我必须使用在组件的 @FacesComponent 注释(属性 namespace)中定义的 XML 命名空间。此时我可以选择任何我想要的(比如 http://my-company.com/my-components)。

因为我还没有发现任何可能更改我的复合组件的命名空间前缀,而且我不想将我的 POJO 的命名空间设置为类似 jcp.org 的东西(我不确定如果这甚至可能的话),我必须使用两个不同的命名空间来使用来自同一个库的组件。

但是由于命名空间的不同只是因为实现细节,并且将来可能会以不同的方式实现一个组件,所以这不是我想要的。

所以问题是:有没有办法为我的复合组件指定完整的命名空间?当然,我想使用与我的其他组件相同的组件(示例中的 http://my-company.com/my-components)。

最佳答案

只需在命名空间声明下方的 *.taglib.xml 文件中指定复合库名称即可。

<namespace>http://my-company.com/my-components</namespace>
<composite-library-name>my-components</composite-library-name>

关于jsf - 更改复合组件的命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22247914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com