1. 程式人生 > >java web SpringMVC後端傳json資料到前端頁面

java web SpringMVC後端傳json資料到前端頁面

下面的後臺的程式碼:目的的查詢資料庫中的所有省的列表,然後轉化為json傳到前端頁面
@Controller
public class DistrictController {
	@Resource
	private ProvinceService provinceServiceImp;
	@Resource
	private CityService cityServiceImp;
	@Resource
	private TourSpotService tourSpotServiceImp;
	/**
	 * 獲取所有省資訊
	 * @param response
	 * @return
	 * @throws IOException
	 */
	@RequestMapping("/getAllProvince")
	public String getAllProvince(HttpServletResponse response) throws IOException{
		response.setContentType("text/html;charset=utf-8");//設定響應的編碼格式,不然會出現中文亂碼現象
		PrintWriter out = response.getWriter();
		//get
		List<Province> provincelist = provinceServiceImp.findAllProvince();
		JSONArray jsonArray = JSONArray.fromObject(provincelist);
		out.write(jsonArray.toString());
		out.flush();
		out.close();
		return null;
	}

以下是前端jquery內容:

$.get("/visualization-tour/getAllProvince", function(result) {
		var json = eval("("+result+")"); // 解析
		var tt = "<option selected class='proInfo' value=1>~請選擇省~</option>";
		$.each(json, function(index) {
			// 迴圈獲取資料
			var proId = json[index].proId;
			var proName = json[index].proName;
			tt += "<option value="+proId+">"+proName+"</option>" ;
		});
		$("#province").html(tt);
	});
下面就是實際效果了:

注意事項,SpringMVC的控制器會是你的一些靜態資源(js、html、css)不能載入,需要修改SpringMVC的配置檔案,新增以下內容:

<!-- 靜態資源訪問  -->
	<mvc:resources location="/img/" mapping="/img/**" />
	<mvc:resources location="/js/" mapping="/js/**" />
	<mvc:resources location="/css/" mapping="/css/**" /> 
	<mvc:resources location="/page/" mapping="/page/**" /> 
其中location 是指你的靜態資源的路徑
就到這裡了,祝你順利執行