Was ist der Unterschied zwischen FacesContext und ExternalContext?

Was ist der Unterschied zwischenFacesContext undExternalContext? Wann kann ich das eine oder andere verwenden? Was hat der eine und was hat der andere?

Das folgende Beispiel stammt aus dem Buch JavaServer Faces 3rd Edition:

 <h:commandButton ... actionListener="#{rushmore.handleMouseClick}" />

Hintergrundbohne:

public void handleMouseClick(ActionEvent e) {
    FacesContext context = FacesContext.getCurrentInstance();
    String clientId = e.getComponent().getClientId(context);
    Map<String, String> requestParams = context.getExternalContext().getRequestParameterMap();
    // ...
}

Warum ist der Anforderungsparameter inExternalContext? Was istclientId? Wird es von JSF generiert, wenn die Anwendung gestartet wird?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage