Table des matières
1. Nouveaux clients
1. Dictionnaire de données
(1) La relation entre le dictionnaire de données dans la table et d'autres tables :
(2) Configuration du fichier de mappage
2. Utilisez la technologie ajax pour charger la liste déroulante du dictionnaire sélection sur la page
3. Analyser et implémenter de nouveaux clients
2. Réception en arrière-plan (n'oubliez pas de générer la méthode getset)
Utilisation :
Maison Java javaDidacticiel JAVAEE nouveaux clients, dictionnaire de données, téléchargement de fichiers et modification de l'explication du client

JAVAEE nouveaux clients, dictionnaire de données, téléchargement de fichiers et modification de l'explication du client

Jul 22, 2017 pm 02:45 PM
javaee 客户 新增

Auteur : Kentpeng

Veuillez indiquer la source de réimpression :

1. Nouveaux clients

1. Dictionnaire de données

Utilisé pour l'énumération A limité nombre d'éléments de dictionnaire dans le projet

(1) La relation entre le dictionnaire de données dans la table et d'autres tables :

Déclaration de création de table :

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;
Copier après la connexion

(2) Configuration du fichier de mappage

Objet dictionnaire de données référencé dans l'entité client :

    //引用关联的数据字典对象private BaseDict cust_source; //客户来源 cust_source.dict_idprivate BaseDict cust_industry; //客户行业private BaseDict cust_level; //客户级别
Copier après la connexion

Configurez l'objet dictionnaire de données dans le fichier de mappage :

        <!-- 多对一 --><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>
Copier après la connexion

2. Utilisez la technologie ajax pour charger la liste déroulante du dictionnaire sélection sur la page

//使用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);
}
Copier après la connexion

add.jsp

$(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>
Copier après la connexion

BaseDictAction :

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;
    }
}
Copier après la connexion

BaseDictServiceImpl :

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;
    }
}
Copier après la connexion

BaseDictDaoImpl :

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;
    }
}
Copier après la connexion

struts.xml

        <!-- 数据字典Action --><action name="BaseDictAction" class="baseDictAction" method="execute" ></action>
Copier après la connexion

applicationContext .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>
Copier après la connexion

3. Analyser et implémenter de nouveaux clients

Ajouter le téléchargement de fichiers aux clients

1. 3 exigences pour la page de téléchargement de fichiers

2. Réception en arrière-plan (n'oubliez pas de générer la méthode getset)

    <!-- 文件上传页面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" >
Copier après la connexion

Utilisation :

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

3. Modifications client
    public String add() throws Exception {if(photo!=null){
        System.out.println("文件名称:"+photoFileName);
        System.out.println("文件类型:"+photoContentType);//将上传文件保存到指定位置photo.renameTo(new File("E:/upload/haha.jpg"));
        }
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Déployer des applications JavaEE à l'aide de conteneurs Docker Déployer des applications JavaEE à l'aide de conteneurs Docker Jun 05, 2024 pm 08:29 PM

Déployez des applications Java EE à l'aide de conteneurs Docker : créez un fichier Docker pour définir l'image, créez l'image, exécutez le conteneur et mappez le port, puis accédez à l'application dans le navigateur. Exemple d'application JavaEE : l'API REST interagit avec la base de données, accessible sur localhost après déploiement via Docker.

Intégration Copilot : Collaboration dans SharePoint et Dynamics 365 Customer Service Intégration Copilot : Collaboration dans SharePoint et Dynamics 365 Customer Service Aug 03, 2023 pm 09:21 PM

Microsoft a annoncé aujourd'hui un premier aperçu de l'intégration de SharePoint avec Copilot dans Dynamics 365 Customer Service. Cette intégration donnera aux agents du service client l'accès à un plus large éventail de sources de connaissances, ce qui se traduira par une productivité accrue et de meilleures interactions avec les clients. Actuellement, Copilot dans Dynamics365 Customer Service exploite une base de connaissances interne pour fournir des conseils aux agents du service client. En suggérant des discussions et des brouillons de contenu d'e-mails, Copilot est devenu un outil clé pour augmenter la productivité de votre équipe de service client. Cependant, les commentaires des clients indiquent que l'outil doit exploiter les connaissances provenant de sources externes telles que SharePoint. Intégration de conduite collaborative SharePoint En réponse à ces commentaires,

Nouvelle méthode statique de la classe DateTime en PHP8.1 Nouvelle méthode statique de la classe DateTime en PHP8.1 Jul 08, 2023 pm 12:42 PM

La nouvelle méthode statique de la classe DateTime dans PHP8.1 La version PHP8.1 introduit des fonctionnalités et fonctions puissantes. L'une des mises à jour accrocheuses est la méthode statique de la classe DateTime. La classe DateTime est un outil important pour traiter les dates et les heures en PHP. Elle fournit de nombreuses méthodes pratiques pour utiliser et traiter les données de date et d'heure. Jetons un coup d'œil à certaines des nouvelles méthodes statiques de la classe DateTime dans PHP8.1 et à leurs exemples d'utilisation. DateHeure ::cr

La différence entre Java et Javaee La différence entre Java et Javaee Nov 02, 2023 am 10:50 AM

Java et Javaee sont définis et utilisés, composants et fonctions, plates-formes et environnements, portée d'application et modèles de développement, etc. Introduction détaillée : 1. Définition et objectif, Java est un langage de programmation orienté objet, lancé par Sun Microsystems en 1995. Java présente les caractéristiques de multiplateforme, de portabilité, de sécurité et de simplicité, et est largement utilisé pour développer diverses applications, et Java EE est une extension de niveau entreprise de la plate-forme Java, conçue pour développer et déployer des applications d'entreprise à grande échelle, évolutives et fiables, etc.

Gestion des utilisateurs Linux : révéler de nouvelles opérations utilisateur Gestion des utilisateurs Linux : révéler de nouvelles opérations utilisateur Feb 24, 2024 pm 11:03 PM

Dans les systèmes Linux, l'ajout de nouveaux utilisateurs est une partie importante de la gestion des autorisations et de la sécurité du système. Cet article révélera les méthodes spécifiques d'ajout d'utilisateurs dans le système d'exploitation Linux, y compris des exemples de code spécifiques et des instructions étape par étape, pour aider les lecteurs à maîtriser rapidement les compétences d'ajout d'utilisateurs. 1. Utilisez la commande adduser pour ajouter un utilisateur. La commande adduser est l'outil préféré pour ajouter des utilisateurs dans Debian et Ubuntu. Cette commande appelle la commande useradd et définit certaines valeurs par défaut, simplifiant ainsi le processus d'ajout d'utilisateurs. Pour ajouter un

Problèmes de compatibilité entre JavaEE et la technologie des conteneurs Problèmes de compatibilité entre JavaEE et la technologie des conteneurs Jun 03, 2024 pm 05:11 PM

Lorsque vous utilisez des applications conteneurisées Java EE, vous pouvez rencontrer des problèmes de compatibilité tels que la gestion de l'état de session, l'injection de dépendances, le regroupement de ressources et la sécurité. Les solutions à ces problèmes incluent l'utilisation du stockage de session externe, la configuration de JNDI, la gestion des pools de ressources et la configuration de la sécurité pour garantir que les applications Java EE s'intègrent de manière transparente à la technologie des conteneurs et bénéficient des avantages de la conteneurisation.

Les rendus de l'iPhone 16 Pro exposés : nouveau bouton de l'appareil photo Les rendus de l'iPhone 16 Pro exposés : nouveau bouton de l'appareil photo Mar 12, 2024 pm 12:40 PM

Les médias étrangers ont récemment exposé des images de rendu CAO de l'iPhone 16 Pro, montrant les détails de conception et les spécifications de taille du nouveau modèle. Selon les dessins de conception divulgués, l'iPhone 16 Pro continue d'utiliser la conception d'îlot intelligent de la génération précédente et conserve la solution d'intégration du module de caméra arrière. Dans le même temps, le cadre central est toujours en titane de haute qualité. . Il convient de noter que ce téléphone a apporté deux améliorations significatives : premièrement, en termes d'affichage de l'écran, l'iPhone 16 Pro a encore réduit la largeur du cadre, augmentant ainsi le rapport écran/corps. La taille de l'écran a augmenté par rapport à l'original. 6,1 pouces de l’iPhone 15 Pro à 6,3 pouces. Deuxièmement, sous le bouton d'alimentation sur le côté droit du fuselage, Apple l'a équipé d'un nouveau bouton physique pour l'appareil photo, que les utilisateurs peuvent

L'e-commerce Douyin a-t-il besoin de recevoir des clients pendant le nouvel an chinois ? Règles du service client pour les petits magasins pendant le Nouvel An chinois L'e-commerce Douyin a-t-il besoin de recevoir des clients pendant le nouvel an chinois ? Règles du service client pour les petits magasins pendant le Nouvel An chinois Mar 07, 2024 pm 06:50 PM

Avec le développement fulgurant des plateformes de médias sociaux, le commerce électronique Douyin est devenu un choix privilégié pour de nombreux commerçants. Cependant, il y a eu des controverses et des discussions autour de la question de savoir si les sociétés de commerce électronique de Douyin doivent fournir un service client pendant le Nouvel An chinois. 1. Le e-commerce Douyin a-t-il besoin de recevoir des clients pendant le Nouvel An chinois ? Le Nouvel An est une fête traditionnelle chinoise importante. À cette époque, les gens rentrent généralement chez eux pour retrouver leur famille et profiter d'un moment de bonheur et de détente. Pour les praticiens du commerce électronique de Douyin, la nécessité de recevoir des clients pendant le Nouvel An chinois est une question qui doit être soigneusement étudiée. D'une part, le Nouvel An chinois est le meilleur moment pour les commerçants de promouvoir leurs ventes, car de nombreuses personnes auront davantage de besoins de consommation pendant cette période. Par conséquent, la question de savoir si vous avez besoin de recevoir des clients pendant le Nouvel An chinois doit être soigneusement pesée. D'une part, recevoir des clients peut générer des ventes à l'entreprise

See all articles