В чем разница между FacesContext
и ExternalContext
? Когда я могу использовать тот или иной? Что имеет одно и что имеет другое?
Ниже приведен пример из книги JavaServer Faces 3rd edition:
<h:commandButton ... actionListener="#{rushmore.handleMouseClick}" />
Поддержка bean:
public void handleMouseClick(ActionEvent e) {
FacesContext context = FacesContext.getCurrentInstance();
String clientId = e.getComponent().getClientId(context);
Map<String, String> requestParams = context.getExternalContext().getRequestParameterMap();
// ...
}
Почему параметр запроса в ExternalContext
? Что такое clientId
? Создается ли JSF при запуске приложения?