FacesContext
和之间有什么区别ExternalContext
?我什么时候可以使用其中一个?什么有一个什么有另一个?
以下示例来自JavaServer Faces第3版:
<h:commandButton ... actionListener="#{rushmore.handleMouseClick}" />
Run Code Online (Sandbox Code Playgroud)
支持豆:
public void handleMouseClick(ActionEvent e) {
FacesContext context = FacesContext.getCurrentInstance();
String clientId = e.getComponent().getClientId(context);
Map<String, String> requestParams = context.getExternalContext().getRequestParameterMap();
// ...
}
Run Code Online (Sandbox Code Playgroud)
为什么请求参数在ExternalContext
?什么是clientId
?它是在应用程序启动时由JSF生成的吗?