В чем разница между FacesContext и ExternalContext
В чем разница междуFacesContext
а такжеExternalContext
? Когда я могу использовать один или другой? Что имеет одно, а что имеет другое?
Следующий пример взят из книги JavaServer Faces 3-е издание:
<h:commandButton ... actionListener="#{rushmore.handleMouseClick}" />
Бобовый бэк:
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 при запуске приложения?