009杰信-创建购销合同Excel报表系列-2-建立购销合同(增删改查)

前面一篇文章已经分析好了数据库的表,这篇文章针对购销合同表做一个增删改查。

和之前的表的增删该查类似。

项目结构如下:

上面红色的框出来的部分就是这个项目要用的文件代码。

依次涵盖了从ContractMapper.xml->Dao层->Service层->Controll控制层

代码依次如下:

ContractMapper.xml代码:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.itcast.jk.mapper.ContractMapper">
    <resultMap type="cn.itcast.jk.domain.Contract" id="contractRM">
        <id property="id" column="CONTRACT_ID" />
        <result property="offeror" column="OFFEROR" />
        <result property="contractno" column="CONTRACT_NO" />
        <result property="signingDate" column="SIGNING_DATE" />
        <result property="inputBy" column="INPUT_BY" />
        <result property="checkBy" column="CHECK_BY" />
        <result property="inspector" column="INSPECTOR" />
        <result property="totalAmount" column="TOTAL_AMOUNT" />
        <result property="importNum" column="IMPORT_NUM" />
        <result property="crequest" column="CREQUEST" />
        <result property="customName" column="CUSTOM_NAME" />
        <result property="deliveryPeriod" column="DELIVERY_PERIOD" />
        <result property="shipTime" column="SHIP_TIME" />
        <result property="tradeTerms" column="TRADE_TERMS" />
        <result property="remark" column="REMARK" />
        <result property="printStyle" column="PRINT_STYLE" />
        <result property="oldState" column="OLD_STATE" />
        <result property="state" column="STATE" />
        <result property="outState" column="OUT_STATE" />
        <result property="createBy" column="CREATE_BY" />
        <result property="createDept" column="CREATE_DEPT" />
        <result property="createTime" column="CREATE_TIME" />
    </resultMap>


    <!-- 自定义查找 -->
    <select id="find" parameterType="map" resultMap="contractRM">
        select * from
        contract_c
        where 1=1
    </select>
    <!-- 查找一個数据 -->
    <select id="get" parameterType="string" resultMap="contractRM">
        select * from
        contract_c where contract_id=#{pid}
    </select>



    <!-- 增加 -->
    <insert id="insert" parameterType="cn.itcast.jk.domain.Contract">
        insert into
        contract_c(CONTRACT_ID,OFFEROR,CONTRACT_NO,SIGNING_DATE,INPUT_BY,CHECK_BY,INSPECTOR,TOTAL_AMOUNT,IMPORT_NUM,CREQUEST,
        CUSTOM_NAME,DELIVERY_PERIOD,SHIP_TIME,TRADE_TERMS,REMARK,PRINT_STYLE,OLD_STATE,STATE,OUT_STATE,CREATE_BY,CREATE_DEPT,CREATE_TIME
        ) values(
        #{id,jdbcType=VARCHAR},
        #{offeror,jdbcType=VARCHAR},
        #{contractno,jdbcType=VARCHAR},
        #{signingDate,jdbcType=TIMESTAMP},
        #{inputBy,jdbcType=VARCHAR},
        #{checkBy,jdbcType=VARCHAR},
        #{inspector,jdbcType=VARCHAR},
        #{totalAmount,jdbcType=DECIMAL},
        #{importNum,jdbcType=INTEGER},
        #{crequest,jdbcType=VARCHAR},
        #{customName,jdbcType=VARCHAR},
        #{deliveryPeriod,jdbcType=VARCHAR},
        #{shipTime,jdbcType=TIMESTAMP},
        #{tradeTerms,jdbcType=VARCHAR},
        #{remark,jdbcType=VARCHAR},
        #{printStyle,jdbcType=VARCHAR},
        #{oldState,jdbcType=INTEGER},
        #{state,jdbcType=INTEGER},
        #{outState,jdbcType=INTEGER},
        #{createBy,jdbcType=VARCHAR},
        #{createDept,jdbcType=VARCHAR},
        #{createTime,jdbcType=TIMESTAMP}

        )

    </insert>
    <!-- 通过Id刪除数据 -->
    <delete id="deleteById" parameterType="string">
        delete from contract_c
        where id=#{pid}

    </delete>



    <!-- 刪除数据 -->
    <delete id="delete" parameterType="string">
        delete from contract_c where CONTRACT_ID in
        <foreach collection="array" item="id" open="(" close=")"
            separator=",">
            #{id}
        </foreach>
    </delete>


    <!-- 更新 -->
    <update id="update" parameterType="cn.itcast.jk.domain.Contract">
        update contract_c
        <set>
            <if test="offeror!=null">OFFEROR=#{offeror,jdbcType=VARCHAR},</if>
            <if test="contractno!=null">CONTRACT_NO=#{contractno,jdbcType=VARCHAR},</if>
            <if test="signingDate!=null">SIGNING_DATE=#{signingDate,jdbcType=TIMESTAMP},</if>
            <if test="inputBy!=null">INPUT_BY=#{inputBy,jdbcType=VARCHAR},</if>
            <if test="checkBy!=null">CHECK_BY=#{checkBy,jdbcType=VARCHAR},</if>
            <if test="inspector!=null">INSPECTOR=#{inspector,jdbcType=VARCHAR},</if>
            <if test="totalAmount!=null">TOTAL_AMOUNT=#{totalAmount,jdbcType=DECIMAL},</if>
            <if test="importNum!=null">IMPORT_NUM=#{importNum,jdbcType=INTEGER},</if>
            <if test="crequest!=null">CREQUEST=#{crequest,jdbcType=VARCHAR},</if>
            <if test="customName!=null">CUSTOM_NAME=#{customName,jdbcType=VARCHAR},</if>
            <if test="deliveryPeriod!=null">DELIVERY_PERIOD=#{deliveryPeriod,jdbcType=VARCHAR},</if>
            <if test="shipTime!=null">SHIP_TIME=#{shipTime,jdbcType=TIMESTAMP},</if>
            <if test="tradeTerms!=null">TRADE_TERMS=#{tradeTerms,jdbcType=VARCHAR},</if>
            <if test="remark!=null">REMARK=#{remark,jdbcType=VARCHAR},</if>
            <if test="printStyle!=null">PRINT_STYLE=#{printStyle,jdbcType=VARCHAR},</if>
            <if test="oldState!=null">OLD_STATE=#{oldState,jdbcType=INTEGER},</if>
            <if test="state!=null">STATE=#{state,jdbcType=INTEGER},</if>
            <if test="outState!=null">OUT_STATE=#{outState,jdbcType=INTEGER},</if>
            <if test="createBy!=null">CREATE_BY=#{createBy,jdbcType=VARCHAR},</if>
            <if test="createDept!=null">CREATE_DEPT=#{createDept,jdbcType=VARCHAR},</if>
            <if test="createTime!=null">CREATE_TIME=#{createTime,jdbcType=TIMESTAMP},</if>
        </set>
    </update>



</mapper>

Dao层的代码:

/**
 * Create by 沈晓权
 * Create on 2016年8月29日上午11:45:00
 */
package cn.itcast.jk.dao.impl;

import java.util.Map;

import org.springframework.stereotype.Repository;

import cn.itcast.jk.dao.ContractDao;
import cn.itcast.jk.dao.FactoryDao;
import cn.itcast.jk.domain.Contract;
import cn.itcast.jk.domain.Factory;


/*
 * @Repository这注册了才能在包扫面的时候把这个实例注册进bean容器。
 * 
 */
@Repository
public class ContractDaoImpl extends BaseDaoImpl<Contract> implements ContractDao {
/**
 * 
 */
public ContractDaoImpl() {
//设置命名空间
super.setNs("cn.itcast.jk.mapper.ContractMapper");
}

/* (non-Javadoc)
 * @see cn.itcast.jk.dao.FactoryDao#updatestate()
 */
@Override
public void updatestate(Map map) {
    
    super.getSqlSession().update(super.getNs()+".updateState", map);
    
}
}

Service层:ContractServicImpl.xml:

/**
 * Create by 沈晓权
 * Create on 2016年8月29日下午3:13:23
 */
package cn.itcast.jk.service.impl;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import cn.itcast.jk.dao.ContractDao;
import cn.itcast.jk.domain.Contract;
import cn.itcast.jk.pagination.Page;
import cn.itcast.jk.service.ContractService;


@Service
public class ContractServiceImpl implements ContractService{

    @Resource
    ContractDao contractdao;
    

    
    @Override
    public List<Contract> findPage(Page page) {
        return null;
    }

    
    @Override
    public List<Contract> find(Map paraMap) {
        return contractdao.find(paraMap);
        
    }


    @Override
    public Contract get(Serializable id) {
        return contractdao.get(id);
    }

    
    @Override
    public void insert(Contract contract) {
        contract.setId(UUID.randomUUID().toString());//设置UUID
        contract.setState(0);//设置状态。默认启用,0代表草稿,默认是0;
        contractdao.insert(contract);
        
    }

    
    @Override
    public void update(Contract contract) {
        contractdao.update(contract);
        
    }

    //删除一条记录
    @Override
    public void deleteById(Serializable id) {
        contractdao.deleteById(id);
    }

    //删除多条记录
    @Override
    public void delete(Serializable[] ids) {
        contractdao.delete(ids);
    }


    //启用
    @Override
    public void submit(Serializable[] ids) {
        Map map=new HashMap();
        map.put("state", 1);//1代表上報
        map.put("ids",ids);
        contractdao.updatestate(map);
        
    }
    //停用
    @Override
    public void cancel(Serializable[] ids) {
        Map map=new HashMap();
        //这里设的两个参数都是为了后面Dao层要用的。
        map.put("state", 0);//0代表草稿
        map.put("ids",ids);
        
        contractdao.updatestate(map);
    }







}

控制层:ContractController:

package cn.itcast.jk.controller.cargo.contract;

import java.util.List;

import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import cn.itcast.jk.controller.BaseController;
import cn.itcast.jk.domain.Contract;
import cn.itcast.jk.domain.Factory;
import cn.itcast.jk.service.ContractService;

@Controller
public class ContractController extends BaseController {
  @Resource
  ContractService contractService;
  
    //列表
    @RequestMapping("/cargo/contract/list.action")
    public String list(Model model)
    {
        
        List<Contract> datalist=contractService.find(null);
        model.addAttribute("datalist", datalist);//将我的数据传递到页面;
        
        return "/cargo/contract/jContractList.jsp";
        
    }
    //跳转到新增的页面
    @RequestMapping("/cargo/contract/tocreate.action")
    public String tocreate(Factory factory )
    {
        
        return "/cargo/contract/jContractCreate.jsp";
      
    }
    //保存新增加的数据
    
    @RequestMapping("/cargo/contract/insert.action")
    public String insert(Contract contract )
    {
        contractService.insert(contract);
        return "redirect:/cargo/contract/list.action";
       
    }
    
    
    
    //跳转到修改的页面
    //根据传入的参数id来找到要修改的Factory.
    @RequestMapping("/cargo/contract/toupdate.action")
    public String toupdate(String id ,Model model)
    {//根据id找到一个Factory,然后把这个factory传给jsp页面,然后在页面上回显数据并做修改。
        //为什么取名叫做obj呢,就是为了后续拷贝的时候少做修改。
        Contract obj=contractService.get(id);
        model.addAttribute("obj", obj);
        return "/cargo/contract/jContractUpdate.jsp";
    
    }
    //保存新修改的数据
    @RequestMapping("/cargo/contract/updatecontract.action")
    public String updatecontract(Contract contract)
    {
        contractService.update(contract);
        return "redirect:/cargo/contract/list.action";
        
    }
    
 
    
    //删除多个
    @RequestMapping("/cargo/contract/delete.action")
    //@RequestParam("id")String[] ids 表示在页面上叫做id,但是我封装的时候封装成ids
    //因为声明的是数组所以会自动的拆分
    public String delete(@RequestParam("id")String[] ids)
    {
        
        contractService.delete(ids);
         return "redirect:/cargo/contract/list.action";
        
    }
    
   //查看
    @RequestMapping("/cargo/contract/toview.action")
    public String toview(String id,Model model)
    {
        
        Contract obj=contractService.get(id);
        model.addAttribute("obj", obj);
         return "/cargo/contract/jContractView.jsp";
        
    }
    //批量的启用
    @RequestMapping("/cargo/contract/submit.action")
    public String submit(@RequestParam("id")String[] ids)
    {
        
        contractService.submit(ids);
        return "redirect:/cargo/contract/list.action";
        
    }
    
    
    //批量的停用
    @RequestMapping("/cargo/contract/stop.action")
    public String stop(@RequestParam("id")String[] ids)
    {
        contractService.cancel(ids);
        return "redirect:/cargo/contract/list.action";
        
    }
    
}

页面代码:

新增合同的页面:

JContractCreate.jsp:

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ include file="../../base.jsp"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
 <!--  <script type="text/javascript" src="../../js/datepicker/WdatePicker.js"></script> -->
</head>
<body>
    <form method="post">
        <div id="menubar">
            <div id="middleMenubar">
                <div id="innerMenubar">
                    <div id="navMenubar">
                        <ul>
                            <li id="save"><a href="#"
                                onclick="formSubmit('insert.action','_self');">确定</a></li>
                            <li id="back"><a href="list.action">返回</a></li>
                        </ul>
                    </div>
                </div>
            </div>
        </div>

        <div class="textbox" id="centerTextbox">

            <div class="textbox-header">
                <div class="textbox-inner-header">
                    <div class="textbox-title">新增购销合同信息</div>
                </div>
            </div>
            <div>



                <div>
                    <table class="commonTable" cellspacing="1">
                        <tr>
                            <td class="columnTitle_mustbe">客户名称:</td>
                            <td class="tableContent"><input type="text" name="customName" /></td>
                            <td class="columnTitle_mustbe">收购方</td>
                            <td class="tableContent"><input type="text" name="offeror" /></td>
                        </tr>

                        <tr>
                            <td class="columnTitle_mustbe">合同编号:</td>
                            <td class="tableContent"><input type="text" name="contractno" /></td>
                            <td class="columnTitle_mustbe">打印版式</td>
                            <td class="tableContent"><input type="text" name="printStyle" /></td>
                        </tr>
                        <tr>
                            <td class="columnTitle_mustbe">签单日期</td>
                            <td class="tableContent">    <input type="text" style="90px;" name="signingDate"
                             onclick="WdatePicker({el:this,isShowOthers:true,dateFmt:'yyyy-MM-dd'});"/>
                            </td>
                            <td class="columnTitle_mustbe">重要程度</td>
                            <td class="tableContent"><input type="text" name="importNum" /></td>
                        </tr>



                        <tr>
                            <td class="columnTitle_mustbe">交货日期</td>
                            <td class="tableContent"><input type="text" name="deliveryPeriod" 
                            onclick="WdatePicker({el:this,isShowOthers:true,dateFmt:'yyyy-MM-dd'});"
                            /></td>
                            <td class="columnTitle_mustbe">船期</td>
                            <td class="tableContent"><input type="text" name="shipTime" 
                            onclick="WdatePicker({el:this,isShowOthers:true,dateFmt:'yyyy-MM-dd'});"
                            /></td>
                        </tr>
                        <tr>
                                <td class="columnTitle_mustbe">贸易条款</td>
                            <td class="tableContent"><input type="text" name="tradeTerms" /></td>
                            <td class="columnTitle_mustbe">验货员</td>
                            <td class="tableContent"><input type="text" name="inspector" /></td>
                            
                        </tr>
                            <tr>
                                <td class="columnTitle_mustbe">制单人</td>
                            <td class="tableContent"><input type="text" name="inputBy" /></td>
                            <td class="columnTitle_mustbe">审单人</td>
                            <td class="tableContent"><input type="text" name="checkBy" /></td>
                            
                        </tr>
                            <tr>
                                <td class="columnTitle_mustbe">要求</td>
                            <td class="tableContent"><textarea name="crequest" style="height:120px"></textarea></td>
                            <td class="columnTitle_mustbe">说明</td>
                            <td class="tableContent"><textarea name="remark" style="height:120px"></textarea></td>
                            
                        </tr>
                    </table>
                </div>
            </div>
    </form>
</body>
</html>

列表页面:

jContractList.jsp:

<%@ page language="java" pageEncoding="UTF-8"%>
<hr>
    <font color="blue"><b>引入CSS、JS区域</b></font>
<hr>

<%@ include file="../../baselist.jsp"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>

<body>
<form name="icform" method="post">

<div id="menubar">
<div id="middleMenubar">
<div id="innerMenubar">
  <div id="navMenubar">
<ul>

<hr>
    <font color="blue"><b>按钮区域</b></font>
<hr>

<li id="view"><a href="#" onclick="formSubmit('toview.action','_self');this.blur();">查看</a></li>
 <li id="new"><a href="#" onclick="formSubmit('tocreate.action','_self');this.blur();">新增</a></li>
  <li id="update"><a href="#" onclick="formSubmit('toupdate.action','_self');this.blur();">修改</a></li>
    <li id="delete"><a href="#" onclick="formSubmit('delete.action','_self');this.blur();">批量删除</a></li>
    <li id="delete"><a href="#" onclick="formSubmit('submit.action','_self');this.blur();">提交</a></li>
    <li id="delete"><a href="#" onclick="formSubmit('cancel.action','_self');this.blur();">取消</a></li>
</ul>
  </div>
</div>
</div>
</div>
   
<!-- 页面主体部分(列表等) -->  
<div class="textbox" id="centerTextbox">
  <div class="textbox-header">
  <div class="textbox-inner-header">
  <div class="textbox-title">

<hr>
    <font color="blue"><b>标题</b></font>
<hr>

    购销合同列表
  </div> 
  </div>
  </div>
  
<div>
    
<hr>
    <font color="blue"><b>列表区域</b></font>
<hr>

<div class="eXtremeTable" >
<table id="ec_table" class="tableRegion" width="98%" >
    <thead>
    <tr>
        <td class="tableHeader"><input type="checkbox" name="selid" onclick="checkAll('id',this)"></td>
        <td class="tableHeader">序号</td>
        <td class="tableHeader">合同号</td>
        <td class="tableHeader">签单日期</td>
        <td class="tableHeader">客户名称</td>
        <td class="tableHeader">制单人</td>
        <td class="tableHeader">审单人</td>
        <td class="tableHeader">验货员</td>
        <td class="tableHeader">交货期限</td>
        <td class="tableHeader">船期</td>
        <td class="tableHeader">走货状态</td>
         <td class="tableHeader">总金额</td>
         <td class="tableHeader">状态</td>
        
    </tr>
    </thead>
    <tbody class="tableBody" >
    <!--var="o"的意思是给datalist取个别名,之后用起来就简单了-->
    <c:forEach items="${datalist}" var="o" varStatus="status">
    <tr class="odd" onmouseover="this.className='highlight'" onmouseout="this.className='odd'" >
    <!-- 做了一个选择框 -->
        <td><input type="checkbox" name="id" value="${o.id}"/></td>
        <td>${status.index+1}</td>
        <td><a href="toview.action?id=${o.id}">${o.contractno}</a></td>
        <td>${o.signingDate}</td>
        <td>${o.customName}</td>
         <td>${o.inputBy}</td>
         <td>${o.checkBy}</td>
         <td>${o.inspector}</td>
         <td>${o.deliveryPeriod}</td>
         <td>${o.shipTime}</td>
         <td>${o.outState}</td>
         <td>${o.totalAmount}</td>
         <td>
             <c:if test="${o.state==1}"><font color="green">提交</font></c:if>
             <c:if test="${o.state==0}">取消</c:if>
         </td>
      
    </tr>
    </c:forEach>
    
    </tbody>
</table>
</div>
 
</div>
 
 
</form>
</body>
</html>


更改页面:

jContractUpdate.jsp:

<%@ page language="java" pageEncoding="UTF-8" %>
<%@ include file="../../base.jsp"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
  <script type="text/javascript" src="../../js/datepicker/WdatePicker.js"></script>
</head>
<body>
    <form method="post">
        <div id="menubar">
            <div id="middleMenubar">
                <div id="innerMenubar">
                    <div id="navMenubar">
                        <ul>
                            <li id="save"><a href="#"
                                onclick="formSubmit('insert.action','_self');">确定</a></li>
                            <li id="back"><a href="list.action">返回</a></li>
                        </ul>
                    </div>
                </div>
            </div>
        </div>

        <div class="textbox" id="centerTextbox">

            <div class="textbox-header">
                <div class="textbox-inner-header">
                    <div class="textbox-title">新增购销合同信息</div>
                </div>
            </div>
            <div>
               <div>
                    <table class="commonTable" cellspacing="1">
                        <tr>
                            <td class="columnTitle_mustbe">客户名称:</td>
                            <td class="tableContent"><input type="text" name="customName" value="${obj.customName}" /></td>
                            <td class="columnTitle_mustbe">收购方</td>
                            <td class="tableContent"><input type="text" name="offeror"  value="${obj.offeror}"/></td>
                        </tr>

                        <tr>
                            <td class="columnTitle_mustbe">合同编号:</td>
                            <td class="tableContent">
                            <input type="text" name="contractno" value="${obj.contractno}"/>
                            </td>
                            
                        <%--     <td class="columnTitle_mustbe">打印版式</td>
                             <td class="tableContentAuto">
                            <!-- 注意这里的处理方法。用<c:if>来处理的 -->
                                    <input type="radio" name="printStyle" value="2" class="input" <c:if test="${obj.printStyle=='2'}">checked</c:if>>两款
                    <input type="radio" name="printStyle" value="1" class="input" <c:if test="${obj.printStyle=='1'}">checked</c:if>>一款
                            </td> --%>
                        </tr>
                        
                        <tr>
                            <td class="columnTitle_mustbe">签单日期</td>
                            <td class="tableContent">    
                            <input type="text" style="90px;" name="signingDate"
                            value="<fmt:formatDate value="${obj.deliveryPeriod}" pattern="yyyy-MM-dd"/>"
                             onclick="WdatePicker({el:this,isShowOthers:true,dateFmt:'yyyy-MM-dd'});" />
                            </td>
                            <td class="columnTitle_mustbe">重要程度</td>
                            <td class="tableContent"><input type="text" name="importNum" /></td>
                        </tr>



                        <tr>
                            <td class="columnTitle_mustbe">交货日期</td>
                            <td class="tableContent"><input type="text" name="deliveryPeriod" 
                            value="<fmt:formatDate value="${obj.deliveryPeriod}" pattern="yyyy-MM-dd"/>"
                            onclick="WdatePicker({el:this,isShowOthers:true,dateFmt:'yyyy-MM-dd'});"
                            /></td>
                            
                            <td class="columnTitle_mustbe">船期</td>
                            <td class="tableContent">
                            <input type="text" name="shipTime" 
                            value="<fmt:formatDate value="${obj.shipTime}" pattern="yyyy-MM-dd"/>"
                            onclick="WdatePicker({el:this,isShowOthers:true,dateFmt:'yyyy-MM-dd'});"
                            />
                            </td>
                        </tr>
                        
                        
                        <tr>
                            <td class="columnTitle_mustbe">贸易条款</td>
                            <td class="tableContent"><input type="text" name="tradeTerms" /></td>
                            <td class="columnTitle_mustbe">验货员</td>
                            <td class="tableContent"><input type="text" name="inspector" /></td>
                        </tr>
                        
                        
                        <tr>
                            <td class="columnTitle_mustbe">制单人</td>
                            <td class="tableContent"><input type="text" name="inputBy" /></td>
                            <td class="columnTitle_mustbe">审单人</td>
                            <td class="tableContent"><input type="text" name="checkBy" /></td>
                        </tr>
                        
                        
                        
                        <tr>
                            <td class="columnTitle_mustbe">要求</td>
                            <td class="tableContent"><textarea name="crequest" style="height:120px"></textarea></td>
                            <td class="columnTitle_mustbe">说明</td>
                            <td class="tableContent"><textarea name="remark" style="height:120px"></textarea></td>
                            
                        </tr>
                    </table>
                </div>
            </div>
    </form>
</body>
</html>

预览界面:

<%@ page language="java" pageEncoding="UTF-8" %>
<%@ include file="../../base.jsp"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>

</head>
<body>
    <form method="post">
        <div id="menubar">
            <div id="middleMenubar">
                <div id="innerMenubar">
                    <div id="navMenubar">
                        <ul>
                            <li id="save"><a href="#"
                                onclick="formSubmit('insert.action','_self');">确定</a></li>
                            <li id="back"><a href="list.action">返回</a></li>
                        </ul>
                    </div>
                </div>
            </div>
        </div>

        <div class="textbox" id="centerTextbox">

            <div class="textbox-header">
                <div class="textbox-inner-header">
                    <div class="textbox-title">新增购销合同信息</div>
                </div>
            </div>
            <div>
               <div>
                    <table class="commonTable" cellspacing="1">
                        <tr>
                            <td class="columnTitle_mustbe">客户名称:</td>
                            <td class="tableContent"><input type="text" name="customName" value="${obj.customName}" /></td>
                            <td class="columnTitle_mustbe">收购方</td>
                            <td class="tableContent"><input type="text" name="offeror"  value="${obj.offeror}"/></td>
                        </tr>

                        <tr>
                            <td class="columnTitle_mustbe">合同编号:</td>
                            <td class="tableContent">
                            <input type="text" name="contractno" value="${obj.contractno}"/>
                            </td>
                            
                        <%--     <td class="columnTitle_mustbe">打印版式</td>
                             <td class="tableContentAuto">
                            <!-- 注意这里的处理方法。用<c:if>来处理的 -->
                                    <input type="radio" name="printStyle" value="2" class="input" <c:if test="${obj.printStyle=='2'}">checked</c:if>>两款
                    <input type="radio" name="printStyle" value="1" class="input" <c:if test="${obj.printStyle=='1'}">checked</c:if>>一款
                            </td> --%>
                        </tr>
                        
                        <tr>
                            <td class="columnTitle_mustbe">签单日期</td>
                            <td class="tableContent">    
                            <input type="text" style="90px;" name="signingDate"
                            value="<fmt:formatDate value="${obj.deliveryPeriod}" pattern="yyyy-MM-dd"/>"
                              />
                            </td>
                            <td class="columnTitle_mustbe">重要程度</td>
                            <td class="tableContent"><input type="text" name="importNum" /></td>
                        </tr>



                        <tr>
                            <td class="columnTitle_mustbe">交货日期</td>
                            <td class="tableContent"><input type="text" name="deliveryPeriod" 
                            value="<fmt:formatDate value="${obj.deliveryPeriod}" pattern="yyyy-MM-dd"/>"
                            
                            /></td>
                            
                            <td class="columnTitle_mustbe">船期</td>
                            <td class="tableContent">
                            <input type="text" name="shipTime" 
                            value="<fmt:formatDate value="${obj.shipTime}" pattern="yyyy-MM-dd"/>"
                            
                            />
                            </td>
                        </tr>
                        
                        
                        <tr>
                            <td class="columnTitle_mustbe">贸易条款</td>
                            <td class="tableContent"><input type="text" name="tradeTerms" /></td>
                            <td class="columnTitle_mustbe">验货员</td>
                            <td class="tableContent"><input type="text" name="inspector" /></td>
                        </tr>
                        
                        
                        <tr>
                            <td class="columnTitle_mustbe">制单人</td>
                            <td class="tableContent"><input type="text" name="inputBy" /></td>
                            <td class="columnTitle_mustbe">审单人</td>
                            <td class="tableContent"><input type="text" name="checkBy" /></td>
                        </tr>
                        
                        
                        
                        <tr>
                            <td class="columnTitle_mustbe">要求</td>
                            <td class="tableContent"><textarea name="crequest" style="height:120px">${obj.crequest}</textarea></td>
                            <td class="columnTitle_mustbe">说明</td>
                            <td class="tableContent"><textarea name="remark" style="height:120px">${obj.remark}</textarea></td>
                            
                        </tr>
                    </table>
                </div>
            </div>
    </form>
</body>
</html>
原文地址:https://www.cnblogs.com/shenxiaoquan/p/5874007.html