JSF 2.2 将 Deltaspike (CDI) windowId 注入 Bean

JSF 2.2 inject Deltaspike (CDI) windowId into Bean

我目前正在使用带有 Deltaspike 的 JSF 2.2。我们使用 Deltaspike 的 Multi-Window-Handling 来处理单独的 windows。效果很好,但在特定情况下,我们需要 window ID。

我可以通过以下方式阅读它: FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("dswid");

是否有更优雅的方式,也许是注入到我的 bean 中?

此致,

塞巴斯蒂安

您可以使用 OmniFaces 中的 Param。我觉得它更优雅,但它是第三个库。

@Inject @Param
private String dswid;

如果不想添加库,也可以注入外部上下文。

@注入 私有 ExternalContext externalContext;