zoukankan      html  css  js  c++  java
  • SSH框架的多表查询和增删查改 (方法一)中

    原创作品,允许转载,转载时请务必标明作者信息和声明本文章==》http://www.cnblogs.com/zhu520/p/7774144.html  

    这边文章是接的刚刚前一遍的基础上敲的 SSH框架的多表查询和增删查改 (方法一)上

      

      一:

    现在配置你的 applicationContext.xml , web.xml 配置文件

    1):applicationContext.xml  --》这些配置你大概大概理解就好不要敲啊,反正我是复制的这些配置

    这篇文章讲解了Spring 开启Annotation <context:annotation-config> 和 <context:component-scan>诠释及区别   

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
        xsi:schemaLocation="
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
        http://www.springframework.org/schema/aop   
        http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
        http://www.springframework.org/schema/context  
        http://www.springframework.org/schema/context/spring-context-3.1.xsd  
        http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"
        default-autowire="byName">
    
        <!-- 开启注解 -->
        <context:annotation-config />
        <!-- spring 扫描路径,注意当前工程只需要扫描dao和service,srpingmvc或者struts2注解才有变化 -->
        <context:component-scan base-package="zhu.dao,zhu.service" />
    
        <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
            <property name="driverClassName" value="com.mysql.jdbc.Driver">
            </property>
            <property name="url" value="jdbc:mysql://127.0.0.1:3306/jdbc01">
            </property>
            <property name="username" value="root"></property>
            <property name="password" value="root"></property>
        </bean>
        <bean id="sessionFactory"
            class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
            <property name="dataSource">
                <ref bean="dataSource" />
            </property>
            <property name="hibernateProperties">
                <props>
                    <prop key="hibernate.dialect">
                        org.hibernate.dialect.MySQLDialect
                    </prop>
                    <prop key="hibernate.show_sql">
                        true
                    </prop>
                    <!-- 这个是有了之后,就算你再mysql没有表,运行也不会出错,因为有它会自动新建表,已存在不会新建 -->
                    <prop key="hibernate.hbm2ddl.auto">update</prop>
    
                </props>
            </property>
            <property name="mappingDirectoryLocations">
                <list>
                    <value>classpath:zhu/cfg/</value>
                </list>
            </property>
        </bean>
       <!-- 配置声明式事务管理(采用注解的方式) -->
        <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
            <property name="sessionFactory" ref="sessionFactory"></property>
        </bean>
        <!-- 开启注解事务 --> <!-- 用注解来实现事务管理 -->  
        <tx:annotation-driven transaction-manager="txManager"/>
    </beans>
    View Code

    2):web.xml  --》这些配置你大概大概理解就好不要敲啊,反正我是复制的这些配置 

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="3.0" 
        xmlns="http://java.sun.com/xml/ns/javaee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
        http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
      <display-name></display-name>    
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
      
      <!-- spring启动文件路径 -->
        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>
            classpath:applicationContext*.xml
            </param-value>
        </context-param>
        
        <!-- 启动spring -->
        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
      <filter>
          <filter-name>struts2</filter-name>
          <filter-class>
              org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
          </filter-class>
      </filter>
      <filter-mapping>
          <filter-name>struts2</filter-name>
          <url-pattern>*.action</url-pattern>
      </filter-mapping>
      </web-app>
    View Code

    二:创建这些package的包(按你个人习惯)

      1):先去po包下  新建实体类

       创建实体之前说说一对多的情况

    多表查询
    
    1:员工和部门表 :1对多 ==》1是部门   多是员工  
        因为一个员工只能属于一个部门 而一部们则是可以有多个员工
    
    2: 在po层的设置
    
    
       部门表:就要设置 Set的属性来包含  员工
    看:
      
    private Set<TbEmp> setEmps = new HashSet<TbEmp>();
    
         
        public Set<TbEmp> getSetEmps() {
            return setEmps;
        }
    
        public void setSetEmps(Set<TbEmp> setEmps) {
            this.setEmps = setEmps;
        }
    
    而在 员工表的设置:就要设置 部门
    
    
     private  TbDept      tbDept;
    public TbDept getTbDept() {
        return tbDept;
    }
    public void setTbDept(TbDept tbDept) {
        this.tbDept = tbDept;
    }
    
    3: 然后在去  cfg的文件夹下
     
        TbDept.hbm.xml(部门)==》 class==>包含的是员工的全路径哦,不是它自己的全路径,
                                   name==>setEmps这个名称是你刚刚在  po层中部门设置 包含员工的名称
                                   column="did"===》did===》是员工的外键哦 并且员工TbEmp.hbm.xml 的                               column="did" 也要设置 did哦 反正名称必须相同
    
        <set name="setEmps"  cascade="save-update" inverse="true">
             <key column="did"></key>
             <one-to-many class="zhu.po.TbEmp"/>
            </set>
    
    TbEmp.hbm.xml 员工
    
     <many-to-one name="tbDept" class="zhu.po.TbDept" column="did" insert="false" update="false">
          </many-to-one> 

    1:创建TbDept.java(部门表)的实体类

    package zhu.po;
    
    import java.util.HashSet;
    import java.util.Set;
    
    //部门表
    public class TbDept {
        private Integer did;
        private String dname;
    
        //部门包含员工
        private Set<TbEmp> setEmps = new HashSet<TbEmp>(); 
         
        public Set<TbEmp> getSetEmps() {
            return setEmps;
        }
    
        public void setSetEmps(Set<TbEmp> setEmps) {
            this.setEmps = setEmps;
        }
    
        public Integer getDid() {
            return did;
        }
    
        public void setDid(Integer did) {
            this.did = did;
        }
    
        public String getDname() {
            return dname;
        }
    
        public void setDname(String dname) {
            this.dname = dname;
        }
    
         
    
    }
    View Code

     创建TbEmp.java(员工表)的实体类 

    package zhu.po;
    
    import java.util.Date;
    //员工表
    public class TbEmp {
      private Integer eid;
      private String ename;
      private int did;
      private String gende;
      private int age;
      private Date workDate;
      private String password;
      
      //部门
      private  TbDept      tbDept;
     
    public Integer getEid() {
        return eid;
    }
    public void setEid(Integer eid) {
        this.eid = eid;
    }
    public String getEname() {
        return ename;
    }
    public void setEname(String ename) {
        this.ename = ename;
    }
     
    public int getDid() {
        return did;
    }
    public void setDid(int did) {
        this.did = did;
    }
    public String getGende() {
        return gende;
    }
    public void setGende(String gende) {
        this.gende = gende;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public Date getWorkDate() {
        return workDate;
    }
    public void setWorkDate(Date workDate) {
        this.workDate = workDate;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public TbDept getTbDept() {
        return tbDept;
    }
    public void setTbDept(TbDept tbDept) {
        this.tbDept = tbDept;
    }
     
     
     
    }
    View Code

    2:cfg包

    创建实体类的映射文件

    创建TbDept.hbm.xml 

    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <!-- 
        Mapping file autogenerated by MyEclipse Persistence Tools
    -->
    <hibernate-mapping> 
        <class name="zhu.po.TbDept" table="tbdept" catalog="jdbc01">
            <id name="did" type="java.lang.Integer">
                <column name="did" />
                <generator class="identity" />
            </id>
            <property name="dname" type="java.lang.String">
                <column name="dname" length="8" />
            </property> 
            <!--
             TbDept.hbm.xml(部门)==》 class==>包含的是员工的全路径哦,不是它自己的全路径,
                                   name==>setEmps这个名称是你刚刚在  po层中部门设置 包含员工的名称
                                   column="did"===》did===》是员工的外键哦 。 
                                                       并且员工TbEmp.hbm.xml 的              
                                    column="did" 也要设置 did哦 反正名称必须相同
              -->
            <set name="setEmps"  cascade="save-update" inverse="true">
             <key column="did"></key>
             <one-to-many class="zhu.po.TbEmp"/>
            </set>
            
        </class>
    </hibernate-mapping>
    View Code

    创建TbEmp.hbm.xml (与上面的同理)

    <many-to-one name="tbDept" class="zhu.po.TbDept" column="did" insert="false" update="false">
    </many-to-one>

    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <!-- 
        Mapping file autogenerated by MyEclipse Persistence Tools
    -->
    <hibernate-mapping>
        <class name="zhu.po.TbEmp" table="tbemp" catalog="jdbc01">
            <id name="eid" type="java.lang.Integer">
                <column name="eid" />
                <generator class="identity" />
            </id> 
              <property name="did" type="java.lang.Integer">
                <column name="did" length="12" />
            </property>   
             <property name="ename" type="java.lang.String">
                <column name="ename" length="12" />
            </property>  
            <property name="age" type="java.lang.Integer">
                <column name="age" />
            </property>
              <property name="gende" type="java.lang.String">
                <column name="gende" />
            </property>
              <property name="workDate" type="java.util.Date">
                <column name="workDate" length="19" />
            </property>
            <property name="password" type="java.lang.String">
                <column name="password" length="19" />
            </property>
            
          <many-to-one name="tbDept" class="zhu.po.TbDept" column="did" insert="false" update="false">
          </many-to-one> 
            
        </class>
    </hibernate-mapping>
    View Code

    然后在 applicationContext.xml  中配置映射  TbDept.hbm.xml 和TbEmp.hbm.xml 

    common包

    定义一个接口 里面增删查改改的方法

      看这边文章讲解 ModeLDriven挺详细的    原文  

    但是下面我没使用 ModeLDriven  特点

      

     dao包

    EmpBaseDaoImpl.java 的创建

    可以去看看这篇【Hibernate九】HQL之多表查询(一对多和多对多)文章写的挺好的   ,把Hibernate的查询写的挺详细的

    package zhu.dao.imp;
    
    import java.util.Date;
    import java.util.List;
     
    import org.hibernate.Query;
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Repository;
    import org.springframework.transaction.annotation.Transactional;
    
     
    
    import sun.launcher.resources.launcher;
    
    import zhu.dao.IEmpDaoBaseDao;
     
    import zhu.po.TbEmp;
    @Repository(value="EmpDao")
    @Transactional
    public class EmpBaseDaoImpl implements IEmpDaoBaseDao{
    
        @Autowired
        SessionFactory sessionFactory;
        
        public SessionFactory getSessionFactory() {
            return sessionFactory;
        }
         
        public void setSessionFactory(SessionFactory sessionFactory) {
            this.sessionFactory = sessionFactory;
        }
    
        public Session getSession(){
            return getSessionFactory().getCurrentSession();
        }
        boolean b=false;
         
        @SuppressWarnings("unchecked")
        @Override
        public List<TbEmp> findAll() {
            String hql="from TbEmp c left outer join fetch  c.tbDept  ";
            Query query=getSession().createQuery(hql);
            List<TbEmp> lsitEmps=query.list();
        //    List<TbEmp> tbEmps=(List<TbEmp>) getSession().createQuery(hql);
            return lsitEmps;
        }
     
        @Override
        public boolean save(TbEmp t) {
            try {
                getSession().save(t);
                b=true;
            } catch (Exception e) { 
            }
            return b;
        }
        
        /**查询一条数据还可以这样
         * String hql = "FROM User WHERE id = :id";
            Query query = session.createQuery(hql);
            query.setParameter("id", id);
            User user = (User) query.list().get(0);
         */
        @Override
        public TbEmp findDataById(int id) {
            String hql="from TbEmp e left outer join fetch  e.tbDept  where eid= "+id;
            Query query=getSession().createQuery(hql);
            TbEmp tbEmp=(TbEmp) query.uniqueResult();
         return tbEmp;
        }
          /** 删除还可以这样
           * String hql = "DELETE FROM User WHERE id = :id";
            Query query = session.createQuery(hql);
            query.setParameter("id", id);
            query.executeUpdate();
           */
        @Override
        public boolean delete(int id) {
            String hql="delete from TbEmp c  where c.eid= "+id;
            Query query=getSession().createQuery(hql);
            try {
                 query.executeUpdate();
                 b=true;
            } catch (Exception e) {
                 
            }
            return b;
        }
         
        @Override
        public boolean update(TbEmp t) {
            String hql="update TbEmp  set ename=:ename,did=:did,gende=:gende,age=:age,workDate=:workDate,password=:password where eid=:eid ";
            Query query=getSession().createQuery(hql);
            query.setString("ename", t.getEname());
             query.setInteger("did", t.getDid());
            query.setString("gende", t.getGende());
            query.setInteger("age", t.getAge());
            query.setDate("workDate", t.getWorkDate());
            query.setString("password", t.getPassword());
            query.setInteger("eid", t.getEid());
            try {
                 query.executeUpdate();
                b=true;
            } catch (Exception e) {
                 
            }
            return b;
        }
      /* 修改还可以这样
       *1---- Query query = session.createQuery(hql);
            query.setParameter("name", user.getName());
            query.setParameter("sex", user.isSex());
            query.setParameter("birthday", user.getBirthday());
            query.setParameter("balance", user.getBalance());
            query.setParameter("id", user.getId()); 
       *
       * 
       * */
    
         
    
         
    
    }
    View Code

     service包

               

       EmpDaoServiceImpl.java

    package zhu.service.impl;
    
    import java.util.List;
    
    import javax.annotation.Resource;
    
    import org.springframework.stereotype.Service;
    
    import zhu.dao.IEmpDao;
    import zhu.po.TbEmp;
    import zhu.service.ITbEmpDaoService;
    
    @Service
    public class EmpDaoServiceImpl implements ITbEmpDaoService {
    
        @Resource(name = "EmpDao")
        IEmpDao EmpDao; 
         
    
        @Override
        public List<TbEmp> findAll() { 
            return EmpDao.findAll();
        }
    
    
    
        @Override
        public boolean save(TbEmp t) { 
            return EmpDao.save(t);
        }
    
    
    
        @Override
        public boolean update(TbEmp t) { 
            return EmpDao.update(t);
        }
    
    
    
        @Override
        public boolean delete(int id) { 
            return EmpDao.delete(id);
        }
    
    
    
        @Override
        public TbEmp findDataById(int id) { 
            return EmpDao.findDataById(id);
        }
    
    }
    View Code

     action包

    之前的JDBC,我们使用jsp和servlet搭配,实现展现时,大体的过程是:

      1 jsp触发action

      2 servlet接受action,交给后台class处理

      3 后台class跳转到其他的jsp,实现数据展现

      现在使用struts2,实现过程变为

      1 jsp出发action

      2 struts2拦截请求,调用后台action

      3 action返回结果,由不同的jsp展现数据

    当login.jsp触发action时,就会向后抬发送EmpAction.action的请求,这个请求被后台拦截,交给struts.xml中配置的action处理

     EmpAction.java

    package zhu.action;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import javax.servlet.http.HttpServletRequest;
    
    import net.sf.json.JSONArray;
    import net.sf.json.JSONObject;
    import net.sf.json.JsonConfig;
    
    import org.apache.struts2.ServletActionContext;
    import org.springframework.beans.factory.annotation.Autowired;
    
    import zhu.common.BaseAction;
    import zhu.po.TbDept;
    import zhu.po.TbEmp;
    import zhu.service.ITbEmpDaoService;
    import zhu.utils.JsonDateValueProcessor;
    
    import com.opensymphony.xwork2.ActionContext;
    
    public class EmpAction extends BaseAction {
    
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
        @Autowired
        public ITbEmpDaoService mysServiceImpl;
    
        TbEmp tbEmp1;
        
        //声明对象
        @Override
        public TbEmp getModel() {
            if (tbEmp1 == null) {
                tbEmp1 = new TbEmp();
            }
            return tbEmp1;
        }
       
        //登录
        public String login() {
            HttpServletRequest request = ServletActionContext.getRequest();
            if (request.getParameter("password") != null) {
                return "login";
            }
            return "fail";
        }
       //查收所有的数据
        @Override
        public String listfindAll() { 
            List<TbEmp> list = mysServiceImpl.findAll();
            Map<String, String> map= new HashMap<String, String>();
            ActionContext actionContext = ServletActionContext.getContext(); 
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
            for (int i = 0; i < list.size(); i++) { 
             String dateString = sdf.format(list.get(i).getWorkDate());
             map.put("data", dateString);
            }   
            actionContext.put("list", list); 
            actionContext.put("date", map.get("data")); 
             return "findAll";
        }
      //新增
        @Override
        public String sava() {
            HttpServletRequest request = ServletActionContext.getRequest();
             TbEmp emp=new TbEmp();  
             emp.setEname(request.getParameter("ename"));
             emp.setPassword(request.getParameter("password"));
             emp.setGende(request.getParameter("gende")); 
              emp.setDid(Integer.parseInt(request.getParameter("did")));
             emp.setAge(Integer.parseInt(request.getParameter("age")));
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
            try {
                Date date = dateFormat.parse(request.getParameter("workDate"));
                emp.setWorkDate(date);
                if (mysServiceImpl.save(emp)) {
                    return "login";
                }
            } catch (ParseException e) {
    
                e.printStackTrace();
            }
    
            return "fail";
        }
     
     
        //查询一条数据
        @Override
        public String findById() {
            HttpServletRequest request = ServletActionContext.getRequest();
            Integer id = Integer.parseInt(request.getParameter("id"));
            tbEmp1 = mysServiceImpl.findDataById(id);
            ActionContext actionContext = ServletActionContext.getContext();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
            String dateString = sdf.format(tbEmp1.getWorkDate());
            actionContext.put("tb", tbEmp1);
             actionContext.put("date", dateString); 
            return "update";
        }
        //修改数据
        @Override
        public String update() {
            HttpServletRequest request = ServletActionContext.getRequest();
            Integer id = Integer.parseInt(request.getParameter("eid"));
            tbEmp1.setEname(request.getParameter("ename"));
            tbEmp1.setPassword(request.getParameter("password"));
            tbEmp1.setGende(request.getParameter("gende"));
            tbEmp1.setDid(Integer.parseInt(request.getParameter("did")));
            tbEmp1.setAge(Integer.parseInt(request.getParameter("age")));
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
            tbEmp1.setEid(id);
            try {
                Date date = dateFormat.parse(request.getParameter("workDate"));
                if (mysServiceImpl.update(tbEmp1)) {
                    return "login";
                }
            } catch (ParseException e) {
    
                e.printStackTrace();
            }
    
            return "fail";
        }
       //删除数据
        @Override
        public String delete() {
            HttpServletRequest request = ServletActionContext.getRequest();
            int id = Integer.parseInt(request.getParameter("id"));
            if (mysServiceImpl.delete(id)) {
                return "login";
            }
            return "fail";
        }
     
    }
    View Code

       jsp

    login.jsp 这里我在 EmpAction.java的登录并没有进行数据库得到判断,只是单纯的先看看跳转成功否 

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>登录</title>
        
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
         
    
      </head>
      
      <body>
     
      <div align="center">
      <form action="emp/EmpAction!login.action" method="post">
                编号:<input type="text" name="ename"/><br/>
                 密码:<input type="text" name="password"/><br/>
       <input  type="submit" value="登录"/> 
      </form> 
      </div> 
      
      </body>
    </html>
    login.jsp

    emp.jsp  

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'students.jsp' starting page</title>
        
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
         
      </head>
      
      <body> 
      
       
       
         <div align="center" style="height: 100px"> 
         <table cellspacing="0" border="1">
         <thead>
        <tr>
         <td>id</td>
          <td>编号</td>
           <td>年龄</td>
            <td>性别</td>
             <td>部门</td>
             <td>时间</td>
             <td>密码</td>
             <td>修改</td>
             <td>删除</td>
        </tr>
         </thead> 
         <tbody>
         <c:forEach items="${list}" var="list2">
            <tr>
          <td>${ list2.eid}</td>
          <td>${ list2.ename}</td>
            <td>${ list2.gende}</td>
           <td>${ list2.age}</td>
            <td>${ list2.tbDept.dname}</td>
             <td>${date   }</td>
             <td>${ list2.password}</td> 
             <td><a href="emp/EmpAction!findById.action?id=${ list2.eid }"  >修改</a></td>
             <td><a href="emp/EmpAction!delete.action?id=${ list2.eid }"   >删除</a></td> 
            </tr>
         </c:forEach>
         </tbody>
         </table>
      </div> 
      <hr/>
      <h1>新增。。。。</h1>
     <div align="center"  >   
         <form action="emp/EmpAction!sava.action" method="post">
         编号:<input type="text" name="ename"/>      <br/>
                 密码:<input type="text" name="password"/>  <br/>
                 时间:<input type="text" name="workDate"/>  <br/>
                  年龄:<input type="text" name="age"/>       <br/> 
                  性别:<select name="gende">
              <option value="男"></option>
              <option value="女"></option>
              </select>      <br/>
                  部门:<select name="did">
              <option value="1">A部门</option>
              <option value="2">B部门</option>
              </select>        <br/>
             <input type="submit" value="新增"/> 
            </form> 
      </div> 
      </body>
    </html>
    emp.jsp

    update.jsp 

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'update.jsp' starting page</title>
        
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
    
      </head>
      
      <body>
       <h1>修改。。。。</h1>
       <div align="center">
       <form action="emp/EmpAction!update.action" method="post">
       <input type="hidden" name="eid" value="${tb.eid }"/>
                编号:<input type="text" name="ename" value="${tb.ename }"/><br/>
                 密码:<input type="text" name="password" value="${tb.password }"/><br/>
                 时间:<input type="text" name="workDate" value="${date }"/><br/>
                 年龄:<input type="text" name="age"  value="${tb.age }"/><br/>
                 性别:<c:if  test="${tb.gende=='男' }">
                  <select name="gende">
                    <option value="男"></option>
                    <option value="女"></option>
                    </select> 
             </c:if>
             <c:if test="${tb.gende=='女' }">
                  <select name="gende">
                    <option value="女"></option>
                    <option value="男"></option> 
                    </select> 
             </c:if> <br/>
                  部门:<c:if test="${tb.did==1 }">
                   <select name="did" >
                          <option value="1">A部门</option>
                          <option value="2">B部门</option>
                    </select> 
             </c:if>
             <c:if test="${tb.did==2 }">
                  <select name="did" > 
                          <option value="2">B部门</option>
                          <option value="1">A部门</option>
                    </select> 
             </c:if>        <br/>
             <input type="submit" value="修改"/> 
            </form>  
     </div>
      </body>
    </html>
    View Code

        

      源码  链接:http://pan.baidu.com/s/1c2i02LM 密码:l8gm

  • 相关阅读:
    D django 用户认证系统
    vim 跳到指定行
    django 的auth.authenticate返回为None
    git fetch 的简单用法:更新远程代码到本地仓库
    sql语句查询出表里符合条件的第二条记录的方法
    你一定喜欢看的 Webpack 2.× 入门实战
    webpack 从入门到工程实践
    入门Webpack,看这篇就够了
    教程
    常用浏览器如何设置代理服务器上网(图文教程)
  • 原文地址:https://www.cnblogs.com/zhu520/p/7774144.html
Copyright © 2011-2022 走看看