我有一些jxpath,我想把它们放在一个枚举中,我将使用一个映射与JSF页面共享,这将使它们作为jxpath的键可用于EL上进行createPathAndSetValue。
然后,我可以轻松地填充模型,而不需要创建大量的getter和setter。如下所示:
<h:inputText value="#{backingBeanMap[backingBeanMap.billingAddress_postalCode]}" />我有这样的东西
public enum MWField {
isGiftJoin,
billingAddress_postalCode,
...
associates$3_memberInfo_membershipType_type;
public final String xpath;
MWField(){
this.xpath = name().replace('_', '/').replace("$0", "[0]")
.replace("$1", "[1]").replace("$2", "[2]")
.replace("$3", "[3]").replace("$4", "[4]")
.replace("$5", "[5]").replace("$6", "[6]")
.replace("$7", "[7]").replace("$6", "[6]")
.replace("$9", "[9]").replace("$10", "[10]");
}
}我使用名称isGiftJoin或billingAddress_postalCode而不是大写名称,并在构造函数中用/替换_(因此xpath属性就是实际的xpath)。只要没有任何属性的名称中有_(它们没有),我就完成了。枚举不会是“大写的”,但是枚举并不是真正的常量,因为RED是常量。在这里,它们是指向数据的类的实例,并不打算以这种方式成为“常量”。
这些名字是不是太古怪和不标准了?被链接到C风格的常量大写标准是不是很愚蠢?
发布于 2013-01-25 04:28:10
当然;有何不可?使用适合您的标准。就我个人而言,我保留所有的大写字母只用于静态的最终结果,并且倾向于使用枚举值的类命名约定。
我不太喜欢名字中的下划线,但在你的例子中,既然你故意创建了一个层次结构,我就不会有太多的问题。
我想知道命名路径是否真的需要枚举:您是否需要在switch语句中使用它们(在JDK 6或更低版本中)?是否有理由将它们表示为字符串以外的任何形式?没有路径的名称有价值吗?
https://stackoverflow.com/questions/14510026
复制相似问题