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

原文地址:https://www.cnblogs.com/zhu520/p/7774144.html