- 浏览: 2984 次
- 性别:
- 来自: 北京
最新评论
文章列表
需求是在JSF中需要对managebean的方法进行拦截,首先jsf本身没找到支持的方式,和spring集成的话,貌似managebean可能用spring来管理,但是这个没找到切却的方式,最好找到使用CDI beans来替代managebean,然后对bean的方法进行拦截。
版本要求:jsf2.2,j2ee6,好像tomcat7才支持cdi,或者weblogic,websphere之类,这些具体还没验证.
代码:
一、bean上原来使用@ManagedBean的地方替换为@Named
对需要拦截的方法加上注解
import javax.inject.Named;
@Named ...
根据名称获取枚举值
public static <T> T getEnum(Class<T> clazz, String name){
T[] enumConstants = clazz.getEnumConstants();
for(T _enum : enumConstants){
if(_enum.toString().toLowerCase().equals(name.toLowerCase())){
return _enum;
}
}
return null;
}
一开始不知道Class已经泛型化 ...