我正在学习创建自定义JSF组件,并且已经成功创建了简单的组件。我想知道的一件事是,在为组件定义<component-family>
和<renderer-type>
时是否需要遵循任何命名约定?
例如对于组合框,<component-family>
为javax.faces.SelectOne
。它看起来像一个Java类,但我无法在JSF API中找到任何这样的类。
答案 0 :(得分:3)
他们确实不一定代表班级名称。它们只是标识符。在这种情况下,javax.faces
前缀仅暗示它是标准JSF API的一部分。使用相同的前缀everywhere else in standard JSF API。 PrimeFaces组件使用org.primefaces
前缀,OmniFaces组件使用org.omnifaces
前缀,等等。
您完全免费为您的组件库选择自己的 。您应该只保证它不应该与最终用户混合的第三方冲突。就像Java类的包结构一样,如果你选择com.naveen
前缀或者代表组件库的所有者/开发者的什么/谁,那就没有意义。
与Java包(和Internet域名)相同的方法是保证唯一性的一种非常明智的方法(您知道,标识符应该是唯一的)。< / p>