spring+struts2實現上海市市區街道級聯

因爲只是涉及到上海市的級聯選擇,所以,我採取的方式是直接將數據在action裏面封裝了,並沒有解析xml文件,然後通過json將數據從後臺傳至jsp頁面展示。

  1. 下面來看action ,數據純手工啊~~方法笨了點,但是好歹實現了
package com.craftsman.ssm.action;

import java.util.ArrayList;
import java.util.List;

import org.springframework.stereotype.Controller;

import com.craftsman.ssm.bean.CityBean;

@Controller("citySelectAction")
public class CitySelectAction {
    private List<CityBean> cityList;//上海市區","街道的彙總
    //private List<String> districtList;//上海所有市區
    private String district;//上海市區名稱
    private String[] streets;//上海市的街道

    public String district() {
        setCityList(initCityBean());
        return "districtjson";
    }

    public String street() {
        for(CityBean cb:cityList){
            if(  cb.getDistrict().equals(district)){
                streets=cb.getStreet();
            }
        }
        return "streetjson";
    }

    public String getDistrict() {
        return district;
    }

    public void setDistrict(String district) {
        this.district = district;
    }


    private List<CityBean> initCityBean(){
        List<CityBean> listCityBean=new ArrayList<CityBean>();
        String[] districts = { "黃浦區", "靜安區","普陀區","楊浦區","南匯區","嘉定區","徐彙區","奉賢區","閘北區","盧灣區","長寧區","松江區","閔行區","青浦區","金山區","寶山區","虹口區","浦東新區","崇明縣"  };

        String[] huangpu = { "外灘街道", "人民廣場街道", "南京東路街道", "金陵東路街道", "半淞園路街道","小東門街道", "老西門街道", "豫園街道" };
        String[] jingan = { "江寧路街道","靜安寺街道","南京西路街道","曹家渡街道","石門二路街道" };
        String[] putuo={"長壽路街道","曹楊新村街道","長風新村街道","宜川路街道","甘泉路街道","石泉路街道"};
        String[] yangpu = {"定海路街道","大橋街道","平涼路街道","江浦路街道","控江路街道","殷行街道","長白新村街道","延吉新村街道","五角場街道","四平路街道","新江灣城街道","五角場鎮" };
        String[] nanhui={"申港街道","惠南鎮","新場鎮","大團鎮","周浦鎮","航頭鎮","蘆潮港鎮","康橋鎮","宣橋鎮","六竈鎮","祝橋鎮","泥城鎮","書院鎮","萬祥鎮","老港鎮"};
        String[] jiading = {"嘉定鎮街道","新成路街道","真新新村街道","馬陸鎮","南翔鎮","江橋鎮","黃渡鎮","安亭鎮","外岡鎮","徐行鎮","華亭鎮 ","金山區"," 石化街道" };
        String[] xuhui={"湖南路街道","天平路街道","楓林路街道","徐家彙街道","斜土路街道","長橋路街道","漕河涇街道","康健新村街道","虹梅路街道","田林路街道","凌雲路街道","龍華街道華涇鎮"};
        String[] fengxian = { "南橋鎮","莊行鎮","金匯鎮","柘林鎮","青村鎮","奉城鎮","四團鎮","海灣鎮 ","南匯區"," 申港街道 "};
        String[] xiabei={"天目西路街道","北站街道","寶山路街道","芷江西路街道","共和新路街道","大寧路街道","彭浦新村街道","臨汾路街道彭浦鎮"};
        String[] luwan = { "打浦橋街道","淮海中路街道","瑞金二路街道","五里橋街道" };
        String[] changning={"華陽路街道","新華路街道","江蘇路街道","天山路街道","周家橋街道","虹橋街道","仙霞新村街道","程家橋街道","北新涇街道","新涇鎮"};
        String[] songjiang = { "岳陽街道","中山街道","永豐街道","方鬆街道九亭鎮","泗涇鎮","泖港鎮","車墩鎮","洞涇鎮","葉榭鎮","新橋鎮","石湖蕩鎮","新浜鎮","佘山鎮" };
        String[] minhang = { "江川路街道","龍柏街道","古美街道","莘莊鎮","七寶鎮","浦江鎮","梅隴鎮","虹橋鎮","馬橋鎮","吳涇鎮","華漕鎮","顓橋鎮 "};
        String[] qingpu={"夏陽街道","盈浦街道","香花橋街道趙巷鎮","徐涇鎮","華新鎮","重固鎮","白鶴鎮","朱家角鎮","練塘鎮","金澤鎮"};
        String[] jinshan = { "石化街道楓涇鎮","朱涇鎮","亭林鎮","漕涇鎮","山陽鎮","金山衛鎮","張堰鎮","廊下鎮","呂巷鎮" };
        String[] baoshan={"吳淞街道","張廟街道","友誼路街道","廟行鎮","羅店鎮","大場鎮","顧村鎮","羅涇鎮","楊行鎮","月浦鎮","淞南鎮","高境鎮"};
        String[] hongkou = {" 四川北路街道","提籃橋街道","新港路街道","乍浦路街道","歐陽路街道","廣中路街道","涼城新村街道","嘉興路街道","曲陽路街道","江灣鎮街道" };
        String[] pudong = { "濰坊新村街道","陸家嘴街道","塘橋街道","周家渡街道","東明路街道","洋涇街道","上鋼新村街道","滬東新村街道","金楊新村街道","浦興路街道","南碼頭路街道"," 花木街道川沙新鎮","合慶鎮","曹路鎮","高東鎮","高橋鎮","高行鎮","金橋鎮","張江鎮","唐鎮","北蔡鎮","三林鎮" };
        String[] chongming = { "城橋鎮","堡鎮鎮","新河鎮","廟鎮鎮","豎新鎮","向化鎮","三星鎮","港沿鎮","中興鎮","陳家鎮","綠華鎮","港西鎮","建設鎮","新村鄉","長興鄉","橫沙鄉" };
        String[][] ss={huangpu,jingan,putuo, yangpu ,nanhui,jiading,  xuhui,fengxian, xiabei,luwan, changning,songjiang,minhang, qingpu, jinshan,  baoshan, hongkou,pudong,chongming};

        for(int i = 0; i < districts.length; i++){
            listCityBean.add(new CityBean(districts[i],ss[i]));
        }
        return listCityBean;
    }

    public String[] getStreets() {
        return streets;
    }

    public void setStreets(String[] streets) {
        this.streets = streets;
    }

    public List<CityBean> getCityList() {
        return cityList;
    }

    public void setCityList(List<CityBean> cityList) {
        this.cityList = cityList;
    }


}

2.看一下struts.xml裏面的配置

<action name="citySelect_*" class="citySelectAction" method="{1}">
            <result name="districtjson" type="json">
                <param name="root">cityList</param>
            </result>
            <result name="streetjson" type="json">
                <param name="root">streets</param>
            </result>
        </action>

注意配置文件裏面要註明將struts的Action交由spring管理

<constant name="struts.objectFactory" value="spring" />
  1. jsp頁面一加載就發送請求,將獲取到的市區、街道信息拼接至指定的select中
//獲取市區信息
            $.post("/craftsman/citySelect_district.action", function(data) {
                for (var i = 0; i < data.length; i++) {
                    $("#district").append(
                            '<option value='+data[i].district+'>' + data[i].district
                                    + '</option>');
                    $("#commondistrict").append(
                            '<option value='+data[i].district+'>' + data[i].district
                                    + '</option>');
                }
                for( var j=0;j<data[0].street.length;j++){
                    $("#street").append('<option value='+data[0].street[j]+'>'+data[0].street[j]+'</option>');
                    $("#commonstreet").append('<option value='+data[0].street[j]+'>'+data[0].street[j]+'</option>');
                }
            }, "json");
  1. 下面我們就可以來看一下界面上的顯示
    這裏寫圖片描述
    這裏寫圖片描述
    這裏寫圖片描述

比較簡單的mvc實現,咳咳,並沒有加入mybatis,其實可以用xml代替Action中的字符串,但是隻是涉及到小範圍的,下次項目做大了,應該會不得不做個xml解析,省市區街道級聯

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章