首頁 > Java > java教程 > JAVAEE新增客戶、資料字典、檔案上傳和修改客戶講解

JAVAEE新增客戶、資料字典、檔案上傳和修改客戶講解

巴扎黑
發布: 2017-07-22 14:45:20
原創
2897 人瀏覽過

作者: kent鵬  

轉載請註明出處:  

一、新增客戶

  1.資料字典

  項目中有限個數的字典項目

   (1)表中資料字典與其他表格的關係:

   

#   

#   建表語句:

CREATE TABLE `base_dict` (
  `dict_id` varchar(32) NOT NULL COMMENT '数据字典id(主键)',
  `dict_type_code` varchar(10) NOT NULL COMMENT '数据字典类别代码',
  `dict_type_name` varchar(64) NOT NULL COMMENT '数据字典类别名称',
  `dict_item_name` varchar(64) NOT NULL COMMENT '数据字典项目名称',
  `dict_item_code` varchar(10) DEFAULT NULL COMMENT '数据字典项目(可为空)',
  `dict_sort` int(10) DEFAULT NULL COMMENT '排序字段',
  `dict_enable` char(1) NOT NULL COMMENT '1:使用 0:停用',
  `dict_memo` varchar(64) DEFAULT NULL COMMENT '备注',  PRIMARY KEY (`dict_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
登入後複製

   (2)映射檔案設定

   客戶實體中引用資料字典物件:

    //引用关联的数据字典对象private BaseDict cust_source; //客户来源 cust_source.dict_idprivate BaseDict cust_industry; //客户行业private BaseDict cust_level; //客户级别
登入後複製

#   將資料字典物件在映射檔中設定:

        <!-- 多对一 --><many-to-one name="cust_source" column="cust_source" class="BaseDict" ></many-to-one><many-to-one name="cust_industry" column="cust_industry" class="BaseDict" ></many-to-one><many-to-one name="cust_level" column="cust_level" class="BaseDict" ></many-to-one>
登入後複製

 

  2.使用ajax技術在頁面載入字典下拉選

#
//使用ajax加载数据字典,生成select//参数1: 数据字典类型 (dict_type_code)//参数2: 将下拉选放入的标签id//参数3: 生成下拉选时,select标签的name属性值//参数4: 需要回显时,选中哪个optionfunction loadSelect(typecode,positionId,selectname,selectedId){//1 创建select对象,将name属性指定var $select =  $("<select name="+selectname+" ></select>");//2 添加提示选项$select.append($("<option value=&#39;&#39; >---请选择---</option>"));//3 使用jquery 的ajax 方法,访问后台Action$.post("${pageContext.request.contextPath}/BaseDictAction", { dict_type_code:typecode},      function(data){               //遍历//4 返回json数组对象,对其遍历   $.each( data, function(i, json){// 每次遍历创建一个option对象   var $option = $("<option value=&#39;"+json[&#39;dict_id&#39;]+"&#39; >"+json["dict_item_name"]+"</option>"); 
                   if(json['dict_id'] == selectedId){//判断是否需要回显 ,如果需要使其被选中$option.attr("selected","selected");
            }//并添加到select对象                $select.append($option);
               });
      },"json");        //5 将组装好的select对象放入页面指定位置$("#"+positionId).append($select);
}
登入後複製
##
$(document).ready(function(){
    loadSelect("006","level","cust_level.dict_id");
    loadSelect("001","industry","cust_industry.dict_id");
    loadSelect("009","source","cust_source.dict_id");
    });</script>
登入後複製

   add.jsp
public class BaseDictAction extends ActionSupport {private String dict_type_code;    private BaseDictService baseDictService;
    @Overridepublic String execute() throws Exception {//1 调用Service根据typecode获得数据字典对象listList<BaseDict> list = baseDictService.getListByTypeCode(dict_type_code);//2 将list转换为 json格式String json = JSONArray.fromObject(list).toString();//3 将json发送给浏览器ServletActionContext.getResponse().setContentType("application/json;charset=utf-8");
        ServletActionContext.getResponse().getWriter().write(json);return null;//告诉struts2不需要进行结果处理    }    public String getDict_type_code() {return dict_type_code;
    }public void setDict_type_code(String dict_type_code) {this.dict_type_code = dict_type_code;
    }public void setBaseDictService(BaseDictService baseDictService) {this.baseDictService = baseDictService;
    }
}
登入後複製

   BaseDictAction:
public class BaseDictServiceImpl implements BaseDictService {    private BaseDictDao bdd;
    
    @Overridepublic List<BaseDict> getListByTypeCode(String dict_type_code) {return bdd.getListByTypeCode(dict_type_code);
    }public void setBdd(BaseDictDao bdd) {this.bdd = bdd;
    }
}
登入後複製

#   BaseDictServiceImpl:
##
public class BaseDictDaoImpl extends BaseDaoImpl<BaseDict> implements BaseDictDao {

    @Overridepublic List<BaseDict> getListByTypeCode(String dict_type_code) {//Criteria        //创建离线查询对象DetachedCriteria dc = DetachedCriteria.forClass(BaseDict.class);//封装条件dc.add(Restrictions.eq("dict_type_code", dict_type_code));//执行查询List<BaseDict> list = (List<BaseDict>) getHibernateTemplate().findByCriteria(dc);        return list;
    }
}
登入後複製
BaseDictDaoImpl:

        <!-- 数据字典Action --><action name="BaseDictAction" class="baseDictAction" method="execute" ></action>
登入後複製
  struts.xml

    <bean name="baseDictAction" class="cn.xyp.web.action.BaseDictAction" scope="prototype" ><property name="baseDictService" ref="baseDictService" ></property></bean><bean name="baseDictService" class="cn.xyp.service.impl.BaseDictServiceImpl" ><property name="bdd" ref="baseDictDao" ></property></bean></bean><bean name="baseDictDao" class="cn.xyp.dao.impl.BaseDictDaoImpl" ><!-- 注入sessionFactory --><property name="sessionFactory" ref="sessionFactory" ></property></bean>
登入後複製
   applicationContext.xml

    <!-- 文件上传页面3个要求:1.表单必须post提交2.表单提交类型enctype.必须多段式.3.文件上传使用<input type="file" /> 组件
     -->
    <FORM id=form1 name=form1
        action="${pageContext.request.contextPath }/CustomerAction_add"method="post" enctype="multipart/form-data" >
登入後複製
##   3.分析  3.分析實現新增客戶
   

 

二、在新增客戶中加入檔案上傳

  1.檔案上傳頁3個要求

    //上传的文件会自动封装到File对象//在后台提供一个与前台input type=file组件 name相同的属性private File photo;//在提交键名后加上固定后缀FileName,文件名称会自动封装到属性中private String photoFileName;//在提交键名后加上固定后缀ContentType,文件MIME类型会自动封装到属性中 private String photoContentType;
登入後複製

  2.後台接收(記得產生getset方法)
    public String add() throws Exception {if(photo!=null){
        System.out.println("文件名称:"+photoFileName);
        System.out.println("文件类型:"+photoContentType);//将上传文件保存到指定位置photo.renameTo(new File("E:/upload/haha.jpg"));
        }
登入後複製

   使用:
rrreee

#   使用:
rrreee

三、顧客修改

   

# ####

以上是JAVAEE新增客戶、資料字典、檔案上傳和修改客戶講解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板