在easyui里写一个连接数据库的二级联动

二级联动的效果图

 


第一步: 引入easyui库 ,如果没有easyui可以去www.jeasyui.net官网去下载

<link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css">   
<link rel="stylesheet" type="text/css" href="easyui/themes/icon.css">
<script type="text/javascript" src="easyui/jquery.min.js"></script> 
<script type="text/javascript" src="easyui/jquery.easyui.min.js"></script> 
<script type="text/javascript" src="easyui/locale/easyui-lang-zh_CN.js"></script>
第二步:写入下拉框

省:<input id="sheng" name="dept">
市:<input id="shi" name="dept" value="-----请选择-----">

第三步:写js样式

<script type="text/javascript">
$(function(){
	/* 二级连动 */
		$('#sheng').combobox({    
		    url:'myCitys!selectSheng.action',
		    valueField:'c_id',    
		    textField:'sheng',
		    onSelect: function(node){    
		    	$('#shi').combobox({    
				    url:'myCitys!selectShi.action?sheng='+node.sheng,
				    valueField:'c_id',    
				    textField:'sheng',
			});  
	        }
	});  
	
});	

</script>
第四步:写一个dao方法

package com.zking.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import com.zking.entity.City;
import com.zking.util.DBHelper;

public class CityDao {
	/**
	 * 查询省、distinct,去重复值
	 * @return 省
	 */
	 
	public List<City> selectSheng() {
		List<City> cList=new ArrayList<>();
		Connection conn=DBHelper.getConn();
		PreparedStatement ps=null;
		ResultSet rs=null;
		try {
			ps=conn.prepareStatement("select distinct sheng from city");
			rs=ps.executeQuery();
			while(rs.next()){
				String sheng=rs.getString("sheng");
				City c=new City(sheng);
				cList.add(c);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			DBHelper.myCloas(conn, ps, rs);
		}
		return cList;
	}

	/**
	 *  根据省查询ID、市
	 * @param sheng 省
	 * @return ID、市
	 */
	 
	public List<City> selectShi(String sheng) {
		List<City> cList=new ArrayList<>();
		Connection conn=DBHelper.getConn();
		PreparedStatement ps=null;
		ResultSet rs=null;
		try {
			ps=conn.prepareStatement("select c_id,shi from city where sheng=?");
			ps.setString(1, sheng);
			rs=ps.executeQuery();
			while(rs.next()){
				int c_id=rs.getInt("c_id");
				String shi=rs.getString("shi");
				City c=new City(c_id,shi);
				cList.add(c);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			DBHelper.myCloas(conn, ps, rs);
		}
		return cList;
	}
}
第五部:我用了Struts2,所以你要导入9个Struts需要的jar包,写一个Struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
	<!-- 打开方法的动态调用 -->
	<constant name="struts.enable.DynamicMethodInvocation" value="true" />

	<package name="mypackage" extends="struts-default" namespace="/">
		<action name="myCitys" class="com.zking.action.CityAction">
		</action>
	</package>
</struts>
第六步:写一个Cityaction.java

package com.zking.action;

import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;
import com.zking.dao.CityDao;
import com.zking.entity.City;

public class CityAction extends ActionSupport{

	public String selectSheng() throws Exception {
		HttpServletResponse response=ServletActionContext.getResponse();
		response.setContentType("text/html;charset=utf-8"); 
		HttpServletRequest req=ServletActionContext.getRequest();		
		req.setCharacterEncoding("UTF-8");
		CityDao dao=new CityDao();
		List<City> cList=dao.selectSheng();
		List<City> cLists=new ArrayList<>();
		for (int i = 0; i < cList.size(); i++) {
			City citys=new City(i, cList.get(i).getSheng());
			cLists.add(citys);
		}
		PrintWriter out=ServletActionContext.getResponse().getWriter();
		String json=JSON.toJSONString(cLists);
		out.write(json.toString());
		out.close();
		return null;
	}
	
	public String selectShi() throws Exception {
		HttpServletResponse response=ServletActionContext.getResponse();
		response.setContentType("text/html;charset=utf-8"); 
		HttpServletRequest req=ServletActionContext.getRequest();		
		req.setCharacterEncoding("UTF-8");
		CityDao dao=new CityDao();
		String sheng=req.getParameter("sheng");
		List<City> cLists=dao.selectShi(sheng);
		PrintWriter out=ServletActionContext.getResponse().getWriter();
		String json=JSON.toJSONString(cLists);
		out.write(json.toString());
		out.close();
		return null;
	}
}






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现将超大的Excel文件上传到数据库,可以使用PHPExcel库来读取Excel文件的数据,然后使用EasyUI的文件上传组件来实现文件上传功能。下面是一个示例的代码: 1. 首先,确保已经安装了PHPExcel库和EasyUI库。 2. 创建一个上传页面(upload.php),包含一个EasyUI的文件上传组件和一个上传按钮: ```html <!DOCTYPE html> <html> <head> <title>Excel上传</title> <link rel="stylesheet" type="text/css" href="easyui/easyui.css"> <script type="text/javascript" src="easyui/jquery.min.js"></script> <script type="text/javascript" src="easyui/jquery.easyui.min.js"></script> </head> <body> <h2>Excel上传</h2> <input id="excelFile" name="excelFile" class="easyui-filebox" accept=".xls,.xlsx"> <br><br> <a href="#" class="easyui-linkbutton" onclick="upload()">上传</a> <script type="text/javascript"> function upload() { $('#excelFile').filebox('textbox').attr('name', 'excelFile'); $('#excelForm').form('submit', { url: 'upload_handler.php', onSubmit: function() { $.messager.progress(); return true; }, success: function(data) { $.messager.progress('close'); $.messager.alert('提示', data, 'info'); } }); } </script> </body> </html> ``` 3. 创建一个处理上传的脚本(upload_handler.php),在这个脚本中使用PHPExcel库来读取Excel数据并将其插入到数据库中: ```php <?php require_once 'PHPExcel/IOFactory.php'; // 获取上传的Excel文件 $excelFile = $_FILES['excelFile']['tmp_name']; // 加载Excel文件 $objPHPExcel = PHPExcel_IOFactory::load($excelFile); // 获取第一个工作表 $sheet = $objPHPExcel->getActiveSheet(); // 获取行数和列数 $highestRow = $sheet->getHighestRow(); $highestColumn = $sheet->getHighestColumn(); // 循环读取数据 for ($row = 1; $row <= $highestRow; $row++) { $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, null, true, false); // 将数据插入数据库,这只是示例,需要根据实际情况进行数据库操作 // $rowData[0][0] 表示第一列的数据,$rowData[0][1] 表示第二列的数据,依此类推 // 例如:将数据插入名为data的表格中的两列name和value中 // $name = $rowData[0][0]; // $value = $rowData[0][1]; // insert into data (name, value) values ('$name', '$value'); } echo '上传成功!'; ?> ``` 以上代码仅为示例,实际使用中需要根据数据库类型和表结构进行相应的修改。另外,由于上传大型Excel文件可能会占用较多内存,可能需要对服务器进行相应的配置和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值