【问题标题】:how open a new page from autocomplete item select - primefaces如何从自动完成项目选择中打开新页面 - primefaces
【发布时间】:2021-09-01 17:49:58
【问题描述】:

我正在构建一个显示网页列表的自动完成功能,当用户选择其中一个时,它应该打开该页面。 我怎么能这样做?

navbar.xhtml

                                 <p:autoComplete id="autoMenu"
                                             value="#{menuController.componenteP}"
                                            completeMethod="#{menuController.getAutoComplete}"
                                            converter="genericConverter"
                                            var="componente"
                                            itemLabel="#{componente.dsComponente}"
                                            itemValue="#{componente}"
                                            queryDelay="50"
                                            forceSelection="false"                                                                
                                            placeholder="Menu"
                                            required="false"                                               
                                            >
                                   <p:ajax event="itemSelect" listener="#{menuController.onItemSelect}" update="msgs"/>
                                <f:attribute name="classe" value="Componente" />
                                <p:column>
                                    <b><h:outputText value="#{componente.codigo}"/></b>
                                </p:column>
                                <p:column>
                                   
                                    <p:outputLabel rendered="#{componente != null}" value="#{componente.dsComponente}" />
                                    
                                    
                                </p:column>
                            </p:autoComplete>

【问题讨论】:

    标签: jsf primefaces autocomplete


    【解决方案1】:

    我找到了方法:

    MenuController.java

      public void onItemSelect(SelectEvent<Componente> event) {
        FacesContext ctx = FacesContext.getCurrentInstance();
        ExternalContext extContext = ctx.getExternalContext();
        String url = extContext.encodeActionURL(ctx.getApplication().getViewHandler().getActionURL(ctx, event.getObject().getDsUrl()));
        try {
           extContext.redirect(url);
        }
        catch (IOException ioe) {
           throw new FacesException(ioe);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2016-09-11
      • 1970-01-01
      • 2022-08-17
      • 1970-01-01
      • 2018-06-26
      • 1970-01-01
      • 2011-09-05
      • 2015-07-26
      • 2018-02-28
      相关资源
      最近更新 更多