我正在学习创建自定义 JSF 组件并成功地创建了简单的组件。我想知道的一件事是,在定义组件时是否要遵循任何命名 <component-family>
约定<renderer-type>
?
例如,组合框<component-family>
是javax.faces.SelectOne
. 它看起来像一个 Java 类,但我在 JSF API 中找不到任何这样的类。
它们确实不一定代表类名。它们只是标识符。在这种javax.faces
情况下,前缀仅暗示它是标准 JSF API 的一部分。标准 JSF API 的其他任何地方都使用相同的前缀。PrimeFaces 组件使用org.primefaces
前缀,OmniFaces 组件使用org.omnifaces
前缀等等。
您可以完全自由地选择自己的组件库。您应该只保证它不应该与可能由最终用户混合的第 3 方冲突。与 Java 类的包结构一样,如果您选择com.naveen
前缀或代表组件库的所有者/开发者的任何内容/谁,这将是有意义的。
与 Java 包(和 Internet 域名)相同的方法是保证唯一性的一种非常明智的方法(您知道,标识符应该是唯一的)。