¿Cuál es la diferencia entre FacesContext y ExternalContext?
Cuál es la diferencia entreFacesContext
yExternalContext
? ¿Cuándo puedo usar uno u otro? ¿Qué tiene el uno y qué tiene el otro?
El siguiente ejemplo es del libro JavaServer Faces 3rd edition:
<h:commandButton ... actionListener="#{rushmore.handleMouseClick}" />
Frijol de respaldo:
public void handleMouseClick(ActionEvent e) {
FacesContext context = FacesContext.getCurrentInstance();
String clientId = e.getComponent().getClientId(context);
Map<String, String> requestParams = context.getExternalContext().getRequestParameterMap();
// ...
}
¿Por qué es el parámetro de solicitud enExternalContext
? Que esclientId
? ¿Lo genera JSF cuando se inicia la aplicación?