Qual é a diferença entre FacesContext e ExternalContext?
Qual é a diferença entreFacesContext
eExternalContext
? Quando posso usar um ou outro? O que tem um e o que tem o outro?
A amostra a seguir é do livro JavaServer Faces 3rd edition:
<h:commandButton ... actionListener="#{rushmore.handleMouseClick}" />
Feijão de apoio:
public void handleMouseClick(ActionEvent e) {
FacesContext context = FacesContext.getCurrentInstance();
String clientId = e.getComponent().getClientId(context);
Map<String, String> requestParams = context.getExternalContext().getRequestParameterMap();
// ...
}
Por que o parâmetro de solicitação éExternalContext
? O que éclientId
? É gerado pelo JSF quando o aplicativo é iniciado?