栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

用hibernate+ajax做页面带下拉列表的显示,

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用hibernate+ajax做页面带下拉列表的显示,

1、显示

在页面中做先清空后追加

此项目是通过超链接跳转到添加页面的

修改添加页面要显示的信息,如:

        
          
        
        
          
          
        
      
      
        
          
        
        
          
          
        
      

下拉列表中的值不能写死在页面上,一般会在数据库中有一个数字字典,可以上数据库查询 然后显示。这里除了有职称下拉列表,还有专兼职的下拉列表

      
          
            
          
          
           
            
              
              
              
              
              
              
              
              
            
            
          
        

在数据库中创建字典表

 如上图  type对应的是那么的英文value是name中包含的选项,code看公司要求,有的要求写

方便数据的关联

在下拉列表中要显示的是value的值,传到数据库的是id的值

带下拉列表的添加 
1 在页面加载的时候,先用ajax查询教师职称和专兼职两个数组传递到 对应的下拉中(显示)
2 用ajax 完成添加保存
 

 从sturts中开始写

   
   
          //DictController.java中shouTea方法的返回类型是showAll,所以 name=showAll
        data      //这里写的data那么DictController.java中定义用来赋值的也得是data
     
    
   

创建com.hxci.controller.DictController

package com.hxci.controller;


public class DictController {

    DictService dservice =new DictServiceImp();
	Map data =new HashMap();

	public String showTea(){		                //只要是控制层的方法都是String
		data = dservice.showFood();                  //需要包含两个数组,所以用
		return "showTea";//数组是咋写,两个数组咋办
	}

    //要定义data的get set方法
	public Map getData() {
		return data;
	}

	public void setData(Map data) {
		this.data = data;
	}
	
}

给t_dict配置com.hxci.pojo;类和映射文件

package com.hxci.pojo;
public class Dict {
   private Integer id;
   private String name;
   private String type;
   private String code;
   private String value;
public Integer getId() {
	return id;
}
public void setId(Integer id) {
	this.id = id;
}
public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
}
public String getType() {
	return type;
}
public void setType(String type) {
	this.type = type;
}
public String getCode() {
	return code;
}
public void setCode(String code) {
	this.code = code;
}
public String getValue() {
	return value;
}
public void setValue(String value) {
	this.value = value;
}
@Override
public String toString() {
	return "Dict [id=" + id + ", name=" + name + ", type=" + type + ", code="
			+ code + ", value=" + value + "]";
}
   
}

   

  
   
	   
	   
	   
     
     
     
     
     
   
 
        
        
        
         

写service,调Dao层

package com.hxci.controller;

import java.util.HashMap;
import java.util.Map;

import com.hxci.service.DictService;
import com.hxci.service.impl.DictServiceImp;

public class DictController {
	DictService dservice = new DictServiceImp();
	
	
	public String showTea(){		
		//data=????
		return "showTea";//数组是咋写,两个数组咋办
	}

}

创建接口DictService

package com.hxci.service;

import java.util.Map;

public interface DictService {

	Map showTea();

}

创建接口的实现方法

package com.hxci.service.impl;

public class DictServiceImp implements DictService {
	
	}

}
package com.dyx.controller;

import java.util.HashMap;
import java.util.Map;

import com.dyx.service.DictService;
import com.dyx.serviceimpl.DictServiceImp;



public class DictController {
	
	DictService dservice =new DictServiceImp();
	Map data =new HashMap();
	
	public String showFood(){
		data =dservice.showFood();
		return "showFood";//这一个数组怎么写
		
	}
	public Map getData() {
		return data;
	}
	public void setData(Map data) {
		this.data = data;
	}
	
	
}

在接口中返回的是map

package com.hxci.service;

import java.util.Map;

public interface DictService {

	Map showTea();         //返回的map

}

在实现类中

package com.hxci.service.impl;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.hxci.dao.DictDao;
import com.hxci.pojo.Dict;
import com.hxci.service.DictService;

public class DictServiceImp implements DictService {   //怎样返回map
	DictDao dao = new DictDao();                       //调用dao层
	
	//业务处理
	@Override
	public Map showTea() {                             //要调用两次Dao层方法
		Map map = new HashMap();                       
		//通过 zhicheng 查询职称下拉列表的值 也就是value
		List list1 = dao.queryByTea("zhicheng"); //将数据字典中的type字段传入
		//通过 zjz 查询专兼职下拉列表的值
		List list2 = dao.queryByTea("zjz");      
		
		map.put("zc", list1);      //ajax中职称下拉列表的id=“职称”
		map.put("jz", list2);
		return map;
	}

}

创建Dao层方法,以前做查询是直接进行查询,现在是有条件的查询

package com.hxci.dao;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;

import com.hxci.pojo.Dict;
import com.hxci.util.DBUtil;

public class DictDao extends DBUtil{    

	Session session = getSession();     //想用记得继承
	
	public List queryByTea(String str) {
		//hql 类查询 select id,name(属性名) where 属性名=?  ,sql 表查询
		  String hql = "from Dict where type =  ?";    //给问号赋值
		  Query query = session.createQuery(hql);
		  query.setString(0, str);              //str是实现类中传递过来的zhicheng,zjz
		  List list = query.list();       //要返回的是个集合
		  return list;
	}

}

$.ajax({
	       type: "POST",
	       url: "/ssh_sign0506/dict!showTea",     
	       dataType:"json",
	       success: function (res) {
	    		console.log(res);
	    		//先显示职称的下拉列表
	    		var zopt='';                     
	    		$("#zc").empty();    
	    		$.each(res.zc,function(i,v){     //先进行循环遍历 zc是一个集合 v是集合中的每一个数据
	    			var ck ="";
	    			if(v.id==$("#zcop").val() ){ 
	    				ck ="selected"
	    			}
	    			//拼接 value是数据库中的id
	    			zopt = zopt + ''
	    		});
	    		
	    		$("#zc").append(zopt);
	    		//再显示专兼职的下拉列表
	    		var jzopt='';
	    		$("#zjz").empty();    //页面下拉列表定义的id
                //res.jz是在实现类中定义的 map.put("jz", list2);
	    		$.each(res.jz,function(i,v){
	    			jzopt = jzopt + ''
	    		});
	    		$("#zjz").append(jzopt);
	       },
	       error: function(data) {
	         alert("系统出现异常")
	       }
	 });
	
})
转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号

教师名称 联系方式 教师职称 专兼职 教师简介 操作