jquery+json+struts实现省市二级联动

  发现自己好久没写过博客了,算超来有一个多月了吧。这段时间一直在忙着考试,连项目都耽搁下来了。这几天在研究jquery,发现页面上添加省市可以不用js写好脚本去实现,我们可以用后台处理的方法,利用jquery与json的完美结合来实现这一功能。具体实现如下:

  第一步:本次实现的功能是在struts下实现的基本功能,故必须先完成struts的基本配置,这里就做详细介绍。接着是完成jquery的下载与安装这里也不做详细介绍,读者可以查阅相关资料完成相关的配置。

  第二步:在第一步完成好的情形下,我们就可以来实现具体的代码实现了。因为这是进行在后台中的处理的方法,所以,我们需要建立一张表,来存储与省市相关的字段。我使用的数据库是MySql,建表语句为:

  

/*
MySQL Data Transfer
Source Host: localhost
Source Database: hao
Target Host: localhost
Target Database: hao
Date: 2012-12-1 21:44:01
*/

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for pro_city
-- ----------------------------
DROP TABLE IF EXISTS `pro_city`;
CREATE TABLE `pro_city` (
`id` int(10) NOT NULL AUTO_INCREMENT,   **存储省市的ID
`name` varchar(30) NOT NULL,                   **存储省市的名称
`parent_id` int(10) DEFAULT '0',       **存储每个市所对应的省的ID
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records
-- ----------------------------
INSERT INTO `pro_city` VALUES ('1', '江西', '0');
INSERT INTO `pro_city` VALUES ('2', '南昌', '1');
INSERT INTO `pro_city` VALUES ('3', '赣州', '1');
INSERT INTO `pro_city` VALUES ('4', '北京', '0');
INSERT INTO `pro_city` VALUES ('5', '北京', '4');
INSERT INTO `pro_city` VALUES ('6', '福建', '0');
INSERT INTO `pro_city` VALUES ('7', '福州', '6');
INSERT INTO `pro_city` VALUES ('8', '厦门', '6');

  第三步,完成了表的建立后,我们就可以开始后台处理了。 我用的架构的struts+spring+mybatis的架构,首先,先在数据字段对应的实体类。其次编写dao层,service层,最后编写action层。

  具体实现代码如下:

实体类:

dao层:

  ProvinceMapper.java

  

  ProvinceMapper.xml

  

service层:

  ProvinceService.java

  ProvinceServiceImpl.java

  

action层:

  PrivinceAction.java

  第四步:配置struts.xml,将json与struts结合.

  

  第五步:这一步就是最关键的一步了,因为前面的后台配置对于大家来说也是轻车熟路了,所以,接下来,我们将在页面上将jquery与json相结合,调用action里的具体方法;

  login.jsp

  以上完成后,我们就可起起动服务器,看下效果

  

  至此,所以的工作完成了,效果和我们预期的是一样的。

  

posted @ 2012-12-01 22:10  Phoenix Nirvana  阅读(896)  评论(0编辑  收藏  举报