📄 searchexpense.java
字号:
/**
* SearchHouse.java
* author:liuhaijing
* @version 1.0
*/
package mydesign;//包名
import java.io.*;
import mydesign.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
public class SearchExpense extends HttpServlet
{
String strSQL="";
String strSQL1="";
//Initialize global variables
public void init() throws ServletException
{
}
//接收POST请求,执行数据库操作,分页显示结果保存到session中,把视图派发到下一个页面
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
HttpSession session=request.getSession(true);
request.setCharacterEncoding("gb2312");
response.setContentType("text/html; charset=gb2312");
PrintWriter out=response.getWriter();
HouseControl housecontrol=new HouseControl();
ExpenseControl expensecontrol=new ExpenseControl();
PageBean pageCt1=new PageBean();
int page=1;
String table="";
if(session.getAttribute("strSQL")!=null) //判断客户机的请求是接受查询表单数据,还是执行翻页、修改或删除
{
strSQL=(String)session.getAttribute("strSQL");
if(session.getAttribute("jumppage")==null) //判断客户机的请求是翻页还是执行修改或删除后的显示
{
try{
String x=request.getParameter("jumppage"); //得到要显示的页码
page=Integer.parseInt(x);
String update=request.getParameter("update");
String handin=request.getParameter("handin");
if(update!=null||handin!=null) //判断客户机的请示是翻页还是修改或者删除,修改删除执行
{
int select=Integer.parseInt(request.getParameter("select"));
pageCt1=(PageBean)session.getAttribute("pageCt1"); //得到该页显示的数据
ArrayList search=pageCt1.getResult();
Expense expense=(Expense)search.get(select); //得到要操作的数据
session.setAttribute("jumppage",x); //保存要显示的页码
session.setAttribute("expense",expense);
if(update!=null) out.print("<script>window.location.href='updateexpense.jsp'</script>");
else out.print("<script>window.location.href='handin.jsp'</script>");
}
}catch(Exception e)
{
System.out.print("SearchExpense Servlet error:"+e.getMessage());
}
}else{
page=Integer.parseInt((String)session.getAttribute("jumppage")); //得到要显示的页码
session.setAttribute("jumppage",null); //要显示的页码清空
}
}else{ //得到表单数据
table=request.getParameter("table");
session.setAttribute("table",table);
String a1=request.getParameter("donghao");
String a2=request.getParameter("houseid");
String a3=request.getParameter("ishandin");
strSQL=getStrSQL(a1,a2,a3);
}
try
{
table=((String)session.getAttribute("table")!=null)?(String)session.getAttribute("table"):table;
session.setAttribute("strSQL",strSQL);
strSQL1="select count(*) from "+table+strSQL; //计算查询总数的查询语句
strSQL="select top "+page*pageCt1.rowsPerPage+" * from "+table+strSQL; //第一页到要显示页码的查询语句
if(page==0) out.print("<script>alert('已经无符合条件的记录!');window.location.href='searchexpense.jsp'</script>"); //符合条件的数据为0时将页面派发到查询页面
pageCt1=expensecontrol.listData(page,this);
expensecontrol.close();
if(pageCt1.getResult().size()==0) out.print("<script>alert('无符合条件的记录!');window.location.href='searchexpense.jsp'</script>"); //符合条件的数据为0时将页面派发到查询页面
session.setAttribute("pageCt1",pageCt1); //保存要显示的数据
out.print("<script>window.location.href='searchexpenseresult.jsp'</script>"); //将视图派发到下一个页面
}
catch(Exception e)
{
System.out.print("SearchExpense Servlet error:"+e.getMessage());
}
finally
{
}
}
//和POST请求的处理一样
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
doPost(request,response);
}
//处理数据
private String getStrSQL(String a1,String a2,String a3)
{
strSQL="";
if(!a1.equals(""))
{
strSQL=strSQL+" where donghao='"+a1+"'";
if(!a2.equals("")) strSQL=strSQL+" and houseid='"+a2+"'";
if(!a3.equals("请选择"))
{
if(a3.equals("是")) strSQL=strSQL+" and expense=0";
else strSQL=strSQL+" and expense>0";
}
}else{
if(!a2.equals(""))
{
strSQL=strSQL+" where houseid='"+a2+"'";
if(!a3.equals("请选择"))
{
if(a3.equals("是")) strSQL=strSQL+" and expense=0";
else strSQL=strSQL+" and expense>0";
}
}else{
if(!a3.equals("请选择"))
{
if(a3.equals("是")) strSQL=strSQL+" where expense=0";
if(a3.equals("否")) strSQL=strSQL+" where expense>0";
}
}
}
strSQL=strSQL+";";
return strSQL;
}
//Clean up resources
public void destroy()
{
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -