我正在开发我的 MVC 控制器是 JSF 2.1 的 webapp。我有几种基于
FacesContext.getCurrentInstance()
我用这个来
- 从 Flash 范围放置/检索值
- 在视图中添加消息
- 获取请求参数映射
例子:
public void addInfoMessage(String title, String description){
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,title, description));
}
和
public void putFlashMessage(String code, String value){
FacesContext.getCurrentInstance().getExternalContext().getFlash().put(code, value);
}
等等
我只是想知道如果我在每个托管 bean 上都使用这个方法,那么在哪里放置这些方法的合适位置?我考虑两种选择:
a)创建类“JSFUtils”,其中所有方法都是公共的和静态的
b) 创建没有声明范围和声明@ManagedBean 注释的超类“ManagedBean”,但使用这些公共方法。每个托管 bean 都应该是这些类的子类,因此它将继承这些方法。