在java中按州过滤城市 - 使用数组

所以,


我有一个包含 State 和 City 值的 ArrayList,我必须检查 state 是否等于某个变量,让我们调用它的“var1”,如果这个 state 相等,我必须得到城市名称.. .


我正在创建一个菜单过滤器。


<div class="col-md-3">

    <label>#{msg['state']}</label>

    <h:selectOneMenu id="mdl-state" value="#{saisReportQueryBean.keyState}" class="form-control">

        <f:ajax listener="#{saisReportQueryBean.Teste()}"/> 

        <f:selectItem itemValue="#{null}" itemLabel="#{msg['select_state']}" noSelectionOption="true" />

        <f:selectItems value="#{saisReportQueryBean.keyState}" var="estado" itemValue="#{estado}" itemLabel="#{estado}" />

    </h:selectOneMenu>

</div>

<div class="col-md-3">

    <label>#{msg['city']}</label>

    <h:selectOneMenu id="mdl-city" value="#{saisReportQueryBean.keyCity}" class="form-control">

        <f:selectItem itemValue="#{null}" itemLabel="#{msg['select_city']}" noSelectionOption="true" />

        <f:selectItems value="#{saisReportQueryBean.keyCity}" var="cidade" itemValue="#{cidade}" itemLabel="#{cidade}" />

    </h:selectOneMenu>

</div>



When I select the state, I've to update my city itens with just only city in references with the state selected.


Here is my java code.:


protected void updateData() {

        this.reportQuery = new SaisReportQuery();

        this.queryExecuted = false;

        cidades = cidadesIbgeBeanRemote.findAll();

        cidades.sort((f1, f2) -> f1.getMunicipio().compareTo(f2.getMunicipio()));

        Map<String, List<CidadeIbge>> estados = cidades.stream().collect(Collectors.groupingBy(CidadeIbge::getUf));

        setKeyState(estados.keySet());

        getKeyState().toString();

        System.out.println(keyState);       

    }

Tks。


Smart猫小萌
浏览 205回答 1
1回答

开心每一天1111

对不起大家我未完成的问题。我的观点是,当我在菜单中选择某个值时,这必须使用referente中的值更改另一个菜单:前端实现:<h:panelGroup layout="block" class="col-md-3" id="panel-state"><label>#{msg['state']}</label><h:selectOneMenu id="mdl-state" value="#{saisReportQueryBean.reportQuery.state}" binding="#{uf}" class="form-control input_no_round_corner"><f:selectItem itemValue="#{null}" itemLabel="#{msg['select_state']}" noSelectionOption="true" /><f:selectItems value="#{saisReportQueryBean.keyState}" var="estado" itemValue="#{estado}" itemLabel="#{estado}" /><f:ajax listener="#{saisReportQueryBean.UpdateCityByState(uf.value)}" render=":panel-city" event="change" execute="@this" onevent="initializeChosenFieldsCity"></f:ajax></h:selectOneMenu></h:panelGroup><h:panelGroup layout="block" class="col-md-3" id="panel-city"><label>#{msg['city']}</label><h:selectOneMenu id="mdl-city" value="#{saisReportQueryBean.listCidades}" class="form-control input_no_round_corner"><f:selectItem itemValue="#{null}" itemLabel="#{msg['select_city']}" noSelectionOption="true" /><f:selectItems value="#{saisReportQueryBean.listCidades}" var="cidade" itemValue="#{cidade.municipio}" itemLabel="#{cidade.municipio}" /></h:selectOneMenu></h:panelGroup>返回实现:cidades = cidadesIbgeBeanRemote.findAll();setKeyState(new ArrayList(estados.keySet()));getKeyState().toString();getKeyState().sort((f1, f2) -> f1.compareTo(f2));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java