📄 billaddservlet.java
字号:
/*
* 创建日期 2006-7-13
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
package servlet.bill;
/**
* @author pang
*
* TODO 要更改此生成的类型注释的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import java.io.IOException;
import DCO.bill.BillDCO;
import DTO.BillDTO;
import DTO.BillitemDTO;
public class BillAddServlet extends HttpServlet {
protected void service(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
//对从页面取回来的数据进行处理。
String date = request.getParameter("date");
String due_date = request.getParameter("due_date");
String vendor_id = request.getParameter("vendor_id");
// System.out.println(date);
// System.out.println(due_date);
// System.out.println(vendor_id);
String [] dept_id = request.getParameterValues("dept_id");
String [] amount = null;
//这两个参数的设定是为了在控制台中显示是否插入成功。
int fig = 0;
int flg = 0;
//这个变量是存储账单总和的。
int sum = 0;
//这个是判断从页面里取回来的值是否为空。
boolean fng = false;
//这里判断从页面取回来的值是否为空
if(dept_id != null){
//这个数据是用来装text里面的值的。
amount = new String[dept_id.length];
//因为上个jsp页里的checkbox的值和text的名都是dept_id所以在这里要安checkbox所选的值来取text里的值。
for(int i = 0;i<dept_id.length;i++){
amount[i]=request.getParameter(dept_id[i]);
// System.out.println(amount[i]);
}
//算选取的text里的值的总和.也就是这张账单的金额。
for(int i = 0;i<amount.length;i++){
//判断text取回来的值是否为空。
if(amount[i]!=null&&!"".equals(amount[i])){
fng = true;
sum += Integer.parseInt(amount[i]);
}
}
}
// System.out.println(sum);
if(fng){
//下面开始往table_bill表里面插入数据
BillDTO bdto = new BillDTO();
BillDCO bdco = new BillDCO();
//这里是查询一下数据库到得再插入数据时我们应该插入的id是多少。
int bill_id = bdco.bill_id();
//向表所以对应的DTO传递数据。
bdto.setBill_id(bill_id);
bdto.setVendor_id(Integer.parseInt(vendor_id));
bdto.setBill_date(date);
bdto.setBill_due_date(due_date);
bdto.setBill_amount(sum);
fig = bdco.addBill(bdto);
// if(fig == 0){
// System.out.println("0000000000000");
// }else{
// System.out.println("1111111111111");
// }
/**
*下面开始往table_bill_item表里面插入数据。
*这里因为一个账单可能会对应多个部门,所以用循环。
*/
for(int i = 0;i<dept_id.length;i++){
BillitemDTO bidto = new BillitemDTO();
bidto.setDept_id(Integer.parseInt(dept_id[i]));
bidto.setBill_id(bill_id);
bidto.setBill_item_expense(Integer.parseInt(request.getParameter(dept_id[i])));
flg = bdco.addBill_item(bidto);
}
// if(flg == 0){
// System.out.println("fffffffffff");
// }else{
// System.out.println("flg"+flg);
// }
RequestDispatcher rd = request.getRequestDispatcher("/BillServlet");
rd.forward(request,response);
}else{
RequestDispatcher rd = request.getRequestDispatcher("/BillServlet");
rd.forward(request,response);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -