好的,基本上我有一个枚举:
public enum A {
A, B, C, D;
public static final Collection<String> displayColl = createDisplay();
private static Collection<String> createDisplay() {
// Convert enum to acceptable String display magic here...
return ImmutableCollection.copyOf(string collection);
}
}
我想在JSP上访问此集合作为菜单选项。我有以下四个选项,想知道我应该使用哪一个以及如何...
将集合放在ServletContext
属性中,并通过调用${application.StringDisplayCollection}
在jsp上访问它。
在需要时删除集合的不可变副本并将其存储在会话中,然后通过会话范围在jsp上访问它。
将集合转换为JSON,并在页面加载时通过ajax获取它。
一些很酷的方式我没有想到会更好和/或更简单......
谢谢你,如果你需要任何澄清,请告诉我。
答案 0 :(得分:0)
建议:将集合放在ServletContext属性中,并通过调用$ {application.StringDisplayCollection}在jsp上访问它。
不在会话范围内,因为这不会在每个用户/会话的基础上更改。
答案 1 :(得分:0)
使用String输入(类名)和Collection结果编写静态方法,然后在.tld文件中将静态方法定义为EL函数。所以你可以这样: $ {fx:enumItems('EnumFullyQuallifiedClassName')} 。