三级联动怎么回显 javaweb

Python010

三级联动怎么回显 javaweb,第1张

以省,市,城联动为例:

此小程序的功能主要是采用异步请求方式从数据库中调取省市区信息显示到下拉列表:

代码如下:

建立数据库中的代码和一些配置文件信息就省略了,主要有JavaScript中的代码为:

$(document).ready(function(){

$.get("getProvince.do", function(result){

$("#showp").html(result)

})

})

var xmlhttp

function mysend(str){

$(document).ready(function(){

$("#show2").html("")

})

var show = document.getElementByIdx_x_x_x_x_x_x_x_x_x("show")

show.innerHTML = ""

var province = document.getElementByIdx_x_x_x_x_x_x_x_x_x("province").value

if(province!=0){

if(window.XMLHttpRequest){

xmlhttp = new XMLHttpRequest()

}else{

xmlhttp = new ActiveXObject("Microsoft.XMLHTTP")

}

xmlhttp.onreadystatechange=function(){

if(xmlhttp.readyState==4 &&xmlhttp.status==200){

show.innerHTML = xmlhttp.responseText

}

}

var ss = encodeURIComponent(str)

xmlhttp.open("GET","getCity.do?provinceid="+ss,true)

xmlhttp.send(null)

}

}

function myarea(str){

if(window.XMLHttpRequest){

xmlhttp = new XMLHttpRequest()

}else{

xmlhttp = new ActiveXObject("Microsoft.XMLHTTP")

}

xmlhttp.onreadystatechange=function(){

if(xmlhttp.readyState==4 &&xmlhttp.status==200){

var show2 = document.getElementByIdx_x_x_x_x_x_x_x_x_x("show2")

show2.innerHTML = xmlhttp.responseText

}

}

var ss = encodeURIComponent(str)

xmlhttp.open("GET","getArea.do?cityid="+ss,true)

xmlhttp.send(null)

}

html页面中的代码为:

所在地

action中的代码为:

package mobi.zhangsheng.jiejia.action

import java.io.IOException

import java.io.PrintWriter

import java.util.List

import javax.annotation.Resource

import javax.servlet.http.HttpServletRequest

import javax.servlet.http.HttpServletResponse

import org.apache.struts2.ServletActionContext

import org.springframework.stereotype.Controller

import mobi.zhangsheng.jiejia.domain.Areas

import mobi.zhangsheng.jiejia.service.AgentsService

import mobi.zhangsheng.jiejia.service.AreasService

@Controller

public class ProvinceAction {

private int provinceid

private int cityid

@Resource

private AreasService as

@Resource

private AgentsService ags

public int getProvinceid() {

return provinceid

}

public void setProvinceid(int provinceid) {

this.provinceid = provinceid

}

public int getCityid() {

return cityid

}

public void setCityid(int cityid) {

this.cityid = cityid

}

public void getProvince(){

List provinceList = as.getAreasPrvinceList()

HttpServletResponse resp= ServletActionContext.getResponse()

HttpServletRequest request = ServletActionContext.getRequest()

//resp.setContentType("xml")

resp.setContentType("text/html")

resp.setCharacterEncoding("utf-8")

try {

PrintWriter out = resp.getWriter()

out.print("")

//out.print("shanghai")

} catch (IOException e) {

e.printStackTrace()

}

}

public void getCity(){

List cityList = as.getAreasCityList(provinceid)

HttpServletResponse resp= ServletActionContext.getResponse()

//resp.setContentType("xml")

resp.setContentType("text/html")

resp.setCharacterEncoding("utf-8")

try {

PrintWriter out = resp.getWriter()

out.print("")

//out.print("shanghai")

} catch (IOException e) {

e.printStackTrace()

}

}

public void getArea(){

List areaList = as.getAreasCityList(cityid)

if(areaList.size()==0){

}else{

HttpServletResponse resp= ServletActionContext.getResponse()

resp.setContentType("text/html")

resp.setCharacterEncoding("utf-8")

try {

PrintWriter out = resp.getWriter()

out.print("")

} catch (IOException e) {

e.printStackTrace()

}

}

}

}

简单写了一下,一般来说,在项目里省市区是保存在数据库或者前端页面的js中的,到时候直接查询或者js中用json读取。

一般情况下是省市区三级联动。

现在写的这个是纯java,用的时候需要做一个省类的数组或者List,然后自行添加省市区的数据。

//省类

public class Sheng{

private String name

private ArrayList<Shi> shi= new List<Shi>()

public Sheng(String name){

setName(name)

}

public String getName(){

return name

}

public void setName(String name){

this.name=name

}

public void addShi(Shi shi){

this.shi.add(shi)

}

//TODO

public void printShiList(){

for(Shi s : shi){

System.out.println(s.name)

}

}

}

//市类

public class Sheng{

private name

private String xian[] = new String[]

//TODO

public String getName(){

return name

}

}