1. 程式人生 > >springmvc+hibernate+ajax+jquery+freemarker製作二級聯動

springmvc+hibernate+ajax+jquery+freemarker製作二級聯動

二級聯動在網站開發很常見,以下簡單說操作流程:
action類:

@RequestMapping("/cityType.do")
    @ResponseBody
    public Map<String,Object> list(HttpServletRequest request, int id) {
        //String resultMessage="";
        City city=cityMng.findById(id);
        Set<Town> towns=city.getTowns();
        if(towns.
size()>0){ request.setAttribute("towns",towns); //resultMessage="OK"; } else{ //resultMessage="未找到資訊"; } Map<String,Object> returnMap=new HashMap<String ,Object>(); returnMap.put("towns", towns); return returnMap; }

前端頁面:
二級聯動的程式碼:

 <div class="form-group">
        <label class="control-label col-md-3">所屬鎮區
             <span class="required"> * </span>
        </label>
         <div class="col-md-4">        
              <select name="city" id="city" class="form-control input-small"
onchange="javascript:cityChange()">
<option>--請選擇城市--</option> <#list cityList as city> </option> </#list> </select> <select name="town" id="townList" class="form-control input-small"> <option>--請選擇鎮區--</option> </select> </div> </div>

js-ajax部分:

<script type="text/javascript">     
        function cityChange() {

            var type = $("#city").val();

            var html = "";
            var CommitUrl = "../cityType.do?id=" + type;

            $.ajax({
                    type : "POST",
                    contentType : "application/json",
                    url : CommitUrl,
                    dataType : 'json',
                    success : function(result) {
                        var Curedata = $.extend(true, [], result);
                        if (Curedata.towns != null) {
                            for ( var i = 0; i < Curedata.towns.length; i++) {

                                html += "<option value='"+Curedata.towns[i].id+"'>"+ Curedata.towns[i].townName
                                        + "</option>";
                            }
                            $("#townList").empty();
                            $(html).appendTo("#townList");

                        }
                        }

                    });
        }
            </script>

ps:在開發中會出現的幾個問題:

1.HttpMediaTypeNotAcceptableException

原因:spring檔案沒有配置json解析器
解決方法:
在class為AnnotationMethodHandlerAdapter的bean加入屬性

<property name="messageConverters">
            <list>
                <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                    <property name="supportedMediaTypes">
                        <list>
                            <value>
                                text/html;charset=UTF-8
                            </value>
                        </list>
                    </property>
                </bean>
                <!-- 啟動JSON格式的配置 -->
                <bean id="jacksonMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
                    <!-- 解決 HttpMediaTypeNotAcceptableException: Could not find acceptable representation -->
                    <property name="supportedMediaTypes">
                        <list>
                            <value>application/json;charset=UTF-8</value>
                        </list>
                    </property>
                </bean>
            </list>
        </property>

2.java.lang.ClassNotFoundException: org.codehaus.jackson.map.JsonSerializableWithType

解決辦法:匯入jsckson-all-1.7.6.jar

3.進行ajax請求時出現

這裡寫圖片描述
設計中city(城市) 和 town(鎮區) 是一對多雙向關聯
原因: JSON無法對town的city屬性進去JSON轉換
解決方法:
在city的是實體類添加註解@JsonIgnoreProperties(value={“city”})

相關推薦

springmvc+hibernate+ajax+jquery+freemarker製作二級聯動

二級聯動在網站開發很常見,以下簡單說操作流程: action類: @RequestMapping("/cityType.do") @ResponseBody public Map<String,Object> list(Htt

使用PHP+MySql+Ajax+jQuery實現省市區三級聯動功能

b- 發生 sel substr 要求 java true 選中 .ajax 使用PHP+MySql+Ajax+jQuery實現省市區三級聯動功能 要求:寫一個省市區(或者年月日)的三級聯動,實現地區或時間的下拉選擇。 實現技術:php ajax 實現:省級下拉變化時市下拉

jQuery+php實現二級聯動

view fun val -- where his this pre public php代碼: public function liandong(){ $arr = Db::table("city")->where("pid=0")->sel

分別使用js和JQuery實現省市二級聯動

1.1html js中this指的是當前操作的物件 <tr> <td>籍貫</td> <td><select onchange="changeCity(this.value)" id="province" &g

Ajax,js實現省市二級聯動

Ajax,js實現省市二級聯動 這裡不羅嗦,直接放圖,分析。 如圖實現效果。如下: 前端程式碼分析: 後端程式碼,相當簡單,只需要查詢資料庫,省份放一個list集合,城市放一個list集合,回寫響應給前端。 前端通過迴圈,一一獲取。 response.setContentType(“

jQuery完成省市二級聯動

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>使用jQuery完成省市二級聯動</title> <style type="

ajax 二級聯動springmvc 交互

二維碼 gmv 級聯 ajax 二維 管理員 gpo spa ++ html 測試可以使用 <div class="pageButton" style="height: 60px;margin: 10px;line-height: 30px;">

jquery+ajax實現二級聯動

實現效果圖: 前臺頁面: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jquery+ajax實現二級聯動</title>

份-城市,基於jQueryAJAX二級聯動,用Struts2整合AJAX【非數據庫版】

context print oct 佛山 ray 根據 remove back 基於 package loaderman.provincecity; import java.io.IOException; import java.util.LinkedHashS

jquery ajax實現省市二級聯動

今天給大家帶來使用jQuery ajax實現的省市聯動效果。我們直奔主題,先說下實現思路: 準備資料 這裡資料庫我使用的是mysql,先看下錶格: provience表 city表 這裡使用provience表的主鍵作為city表的外來鍵,

使用AjaxJquery配合資料庫實現下拉框的二級聯動

首先我們需要先建立好資料庫,將一些資料插入進去 需要兩張表: province:省份表 city :          城市表 如圖: 然後再在java中建立相關的實體類與之對應 再然後,我們就能開始做jdbc的操作了 public class ConnectionFa

jQueryAjax小練習-二級聯動(從Oracle資料庫獲取資料)

之前做了個簡單的二級聯動小練習,這次算是加強版的吧,希望能對大家有點用處。 //主頁面 <html> <head> <meta charset="UTF-8"> <title>Insert titl

jquery $.post() 向php傳值 實現簡單的二級聯動

chang var box jquer lec 簡單 cnblogs encode can 1 其中selectid是一個下拉菜單的id 2 3 $().ready(function () { 4 $("#selectid").change(functi

Springmvc下的jquery,ajax和json的等技術的運用

springmvc下的jquery ajax和json的等技術的簡單運用 搭建spring mvc環境,導入springmvc開發所需的包web.xml配置<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:

二級聯動ajax實現

app attr int inpu .ajax dto top pla end 二級聯動非ajax實現,改改就能用。 html部分代碼 : <tr> <td colspan="2"> <select name="fatherTopicId"

springmvc框架下jqueryajax使用

文章目錄 前臺 controller程式碼 1 前臺編寫函式,傳遞資料,進行ajax 2 Params為js的物件,傳遞過去轉為json字串JSON.stringify(params), 3 傳遞到後臺的路徑 4.

利用Ajax和JSON實現關於查詢省市名稱的二級聯動功能

  功能實現的思路:我們經常碰見網上購物時候填寫收件地址會用到這個查詢省市縣的三級聯動查詢功能,我們可以利用Ajax和JSON技術模擬這個功能,說白了同樣是使用Ajax的區域性資料更新功能這個特性。因為省市都會有很多個,所以還需要使用JSONArray物件。當我們選擇某一個省的時候,會自動觸發一個區域性更新功

ajax+jQuery實現三級聯動

liandong.html <!DOCTYPE html> <html> <meta charset='utf-8' /> <script src="jquery-3.3.1.min.js"></script> &

ajax相容,同時輸出省份選擇(二級聯動)

執行結果如下圖 單擊上圖的省份,下方列印省份 html程式碼如下圖 <div id="province"></div> <div id="city"></div> css程式碼如下圖 *{ margin: 0; paddi

spring+springmvc+hibernate製作一個簡單的電商網站(3)購物車

購物車是電商網站重要的模組之一,也是有一定難度的模組。 這裡主要是教大家大概的實現思路,我還是不會把原始碼寫出來讓各位Ctrl CV ,因為專案是保密的而且只會Ctrl CV的不算是開發工程師 一,購物車 購物車這個模組因為需求不同,各個網站的購物車功能也不同,有的網站