JSP界面添加查询功能,根据日期来查询(请教高手赐教)

zl4823364 2010-05-18 11:49:25
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.util.List" %>
<%@page import="java.util.ArrayList" %>
<%@page import="com.sohu.db.SQLServer" %>
<%@page import="java.sql.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<%
SQLServer server=new SQLServer();
ResultSet rs=null;
String sql="select * from news";

rs=server.query(sql);
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>NewsDetail</title>
</head>
<body>
<center><h2>采集新闻内容</h2></center>
<table align="center" border="0" cellpadding="" cellspacing="1">
<thead>
<tr bgcolor="#EEEEEE">
<th>新闻标题</th>
<th>作者</th>
<th>链接</th>
<th>日期</th>
</tr>
</thead>
<tbody>
<%
if(rs!=null){
while(rs.next()){
out.print("<tr bgcolor=\"#EEEEEE\">");
out.print("<td><a href=\"newsinfo.jsp?id="+rs.getString("id")+"\">"+rs.getString("newstitle")+"</a></td>");
out.print("<td>"+rs.getString("newsauthor")+"</td>");
out.print("<td><a target=\"_blank\" href=\""+rs.getString("newsurl")+"\">查看链接</a></td>");
out.print("<td>"+rs.getString("newsdate")+"</td>");
out.print("<tr>");
}
}
server.close();
%>
</tbody>
</table>

</body>
</html>


我想在这个界面增加按照日期查询的功能,最好能跳转至另一个单独的JSP界面,初学者请高手指教
...全文
434 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
muler1988 2010-05-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lvchao7758520 的回复:]

处理多条件查询 用的是 Oracle 数据库

Java code
/**
* 根据条件返回人员信息集合
* 根据pageBean 进行分页处理
* @param rywhForm
* @param bean
*/
public List getRyxxBytj(RywhForm rywhForm, PageBean bean)……
[/Quote]


lvchao7758520 2010-05-19
  • 打赏
  • 举报
回复
处理多条件查询 用的是 Oracle 数据库

/**
* 根据条件返回人员信息集合
* 根据pageBean 进行分页处理
* @param rywhForm
* @param bean
*/
public List getRyxxBytj(RywhForm rywhForm, PageBean bean)throws Exception{
//创建日期格式化类
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//人员对应的部门id数组
String[] bmid =null ;
//当前日期的字符串形式
String nowDate = sdf.format(new Date());
//hql语句
StringBuffer hql = new StringBuffer("from TRyxxgl r where 1=1");
//如果部门不为空 则把账号信息加入SQL语句 进行条件查询
if(!"".equals(rywhForm.getUserbm().trim())){
hql=new StringBuffer("select distinct r from TRyxxgl r,TGrxxBmgl g,TBmzz b where r.id = g.ryxxgl.id and g.TBmzz.id=b.id");
hql.append(" and b.id in (:bmid)");
bmid = rywhForm.getUserbm().split(",");
}
//如果登录账号不为空 则把账号信息加入SQL语句 进行条件查询
if(!"".equals(rywhForm.getUserlogin().trim())){
hql.append(" and r.dlzh like '%"+rywhForm.getUserlogin().trim()+"%'");
}
//如果姓名不为空 则把账号信息加入SQL语句 进行条件查询
if(!"".equals(rywhForm.getUsername().trim())){
hql.append(" and r.xm like '%"+rywhForm.getUsername().trim()+"%'");
}
//如果起始时间不为空 且结束时间为空
if(!"".equals(rywhForm.getSdate().trim())
&&"".equals(rywhForm.getOdate().trim())){
hql.append(" and r.cjsj between to_date('"+rywhForm.getSdate()+"','yyyy-mm-dd hh24:mi:ss') and to_date('"+ nowDate+"','yyyy-mm-dd hh24:mi:ss')");
}
//如果起始时间为空 且结束时间不为空
if("".equals(rywhForm.getSdate().trim())
&&!"".equals(rywhForm.getOdate().trim())){
hql.append(" and r.cjsj between to_date('2005-01-01','yyyy-mm-dd hh24:mi:ss') and to_date('"+ rywhForm.getOdate()+"','yyyy-mm-dd hh24:mi:ss')");
}
//如果起始时间,结束时间不为空 则把账号信息加入SQL语句 进行条件查询
if(!"".equals(rywhForm.getOdate().trim())
&&!"".equals(rywhForm.getSdate().trim())){
hql.append(" and r.cjsj between to_date('"+rywhForm.getSdate()+"','yyyy-mm-dd hh24:mi:ss') and to_date('"+rywhForm.getOdate()+"','yyyy-mm-dd hh24:mi:ss')" );
}
//投影查询 出来的 相关人员id
List list = rywhdao.getRyxxbytj(hql,bean,bmid);
//放置人员对象
List ryxx = new ArrayList();
for(int i =0;i<list.size();i++){
//查出人员id
TRyxxgl ty = (TRyxxgl) list.get(i);
Ryall ryall = new Ryall();
this.setView(ty, ryall, ryxx);
}
return ryxx;
}
lvchao7758520 2010-05-19
  • 打赏
  • 举报
回复
处理多条件查询 用的是 Oracle 数据库

/**
* 根据条件返回人员信息集合
* 根据pageBean 进行分页处理
* @param rywhForm
* @param bean
*/
public List getRyxxBytj(RywhForm rywhForm, PageBean bean)throws Exception{
//创建日期格式化类
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//人员对应的部门id数组
String[] bmid =null ;
//当前日期的字符串形式
String nowDate = sdf.format(new Date());
//hql语句
StringBuffer hql = new StringBuffer("from TRyxxgl r where 1=1");
//如果部门不为空 则把账号信息加入SQL语句 进行条件查询
if(!"".equals(rywhForm.getUserbm().trim())){
hql=new StringBuffer("select distinct r from TRyxxgl r,TGrxxBmgl g,TBmzz b where r.id = g.ryxxgl.id and g.TBmzz.id=b.id");
hql.append(" and b.id in (:bmid)");
bmid = rywhForm.getUserbm().split(",");
}
//如果登录账号不为空 则把账号信息加入SQL语句 进行条件查询
if(!"".equals(rywhForm.getUserlogin().trim())){
hql.append(" and r.dlzh like '%"+rywhForm.getUserlogin().trim()+"%'");
}
//如果姓名不为空 则把账号信息加入SQL语句 进行条件查询
if(!"".equals(rywhForm.getUsername().trim())){
hql.append(" and r.xm like '%"+rywhForm.getUsername().trim()+"%'");
}
//如果起始时间不为空 且结束时间为空
if(!"".equals(rywhForm.getSdate().trim())
&&"".equals(rywhForm.getOdate().trim())){
hql.append(" and r.cjsj between to_date('"+rywhForm.getSdate()+"','yyyy-mm-dd hh24:mi:ss') and to_date('"+ nowDate+"','yyyy-mm-dd hh24:mi:ss')");
}
//如果起始时间为空 且结束时间不为空
if("".equals(rywhForm.getSdate().trim())
&&!"".equals(rywhForm.getOdate().trim())){
hql.append(" and r.cjsj between to_date('2005-01-01','yyyy-mm-dd hh24:mi:ss') and to_date('"+ rywhForm.getOdate()+"','yyyy-mm-dd hh24:mi:ss')");
}
//如果起始时间,结束时间不为空 则把账号信息加入SQL语句 进行条件查询
if(!"".equals(rywhForm.getOdate().trim())
&&!"".equals(rywhForm.getSdate().trim())){
hql.append(" and r.cjsj between to_date('"+rywhForm.getSdate()+"','yyyy-mm-dd hh24:mi:ss') and to_date('"+rywhForm.getOdate()+"','yyyy-mm-dd hh24:mi:ss')" );
}
//投影查询 出来的 相关人员id
List list = rywhdao.getRyxxbytj(hql,bean,bmid);
//放置人员对象
List ryxx = new ArrayList();
for(int i =0;i<list.size();i++){
//查出人员id
TRyxxgl ty = (TRyxxgl) list.get(i);
Ryall ryall = new Ryall();
this.setView(ty, ryall, ryxx);
}
return ryxx;
}
lvchao7758520 2010-05-19
  • 打赏
  • 举报
回复
jsp 页面

function select(){
var sdates = document.myform.sdate.value;
var odates = document.myform.odate.value;
sdates = sdates.replace(/^\s+|\s+$/g, "");
odates = odates.replace(/^\s+|\s+$/g, "");


if(sdates!="" && sdates!=null){
//验证开始时间输入是否正确
var sdate = isValidDate("sdate","开始时间");
if(sdate==true){
return;
}
}
if(odates!="" && odates!=null){
//验证结束时间输入是否正确
var odate = isValidDate("odate","结束时间");
if(odate==true){
return;
}
}
if(odates!=""&&sdates!=""){
if(datecheck(sdates,odates)==false){
document.myform.odate.focus();
return;
}
}

document.myform.action="<%=request.getContextPath()%>/rygl.do?method=getRyxxs";
document.myform.method="post";
document.myform.submit();
}
</script>
</head>
<BODY bottomMargin=0 leftMargin=0 topMargin=0>
<form action="" name="myform" method="post">
<TABLE border=0 cellSpacing=0 cellPadding=0 width=630 align="left">
<TBODY>
<TR>
<TD height=33
background="<%=request.getContextPath()%>
/images/bg_16_6.jpg"
colSpan=3>
<TABLE border=0 cellSpacing=0 cellPadding=0 width=625 height=30>
<TBODY>
<TR>
<TD rowSpan=2 width=130>
 
</TD>
<TD width=495></TD>
</TR>
<TR>
<TD height=20>
系统管理 >> 人员信息管理
</TD>
</TR>
</TBODY>
</TABLE>
</TD>
</TR>
<TR>
<TD colSpan=3>
<IMG src="<%=request.getContextPath()%>/images/bg_16_8.jpg"
width=629 height=35>
</TD>
</TR>
<TR>
<TD
background="<%=request.getContextPath()%> /images/bg_16_12.jpg"
width=25>
 
</TD>
<TD height=450 vAlign=top width=580 align="middle">
<LINK rel=stylesheet type=text/css
href="<%=request.getContextPath()%>/images/style.css">
<TABLE border=1 cellSpacing=1 borderColor=#c0c0c0 cellPadding=1
width=565 bgColor=#ffffff align=center>

<TR>
<td width="84">
登 录 账 号 :
</td>
<td width="83">
<INPUT class="txt_grey" size=12 name="userlogin"
onkeypress="checkEmail()"
value="<c:out value="${requestScope.dlzh }"/> ">
</td>
<td width="90">
姓        名:
</td>
<td width="74">
<INPUT class="txt_grey" size=12 name=username
value="<c:out value="${requestScope.name }"/>"
onkeypress="checkEmail()">
</td>
<td width="84">
部        门:
</td>
<td width="117">
<INPUT type="hidden" class="txt_grey" size=12 name="userbm" value="<c:out value="${requestScope.bmid }"/>">
<input type="text" name="userbmmc" readonly="true"
value="<c:out value="${requestScope.bmmc }"/>">
<img src="<%=request.getContextPath()%>/images/ss.jpg"
alt="搜索" border="0" onClick="opening()">
</td>
</TR>
<TR>
<td>
时间(起始):
</td>
<td>
<INPUT class="txt_grey" size=12 id="sdate" name="sdate"
value="<c:out value="${requestScope.sdate }"/>" onkeypress="checkEmail()">
</td>
<td>
时间(结束):
</td>
<td>
<INPUT class="txt_grey" size=12 id="odate" name="odate"
value="<c:out value="${requestScope.odate }"/>" onkeypress="checkEmail()">
</td>
<TD height=22 colSpan=2 align="center">
<button onclick="select()">
查 询
</button>
</TD>
</TR>
</TABLE>
zl4823364 2010-05-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 liye71023326 的回复:]
建议别这么做,在one.jsp里选择查询条件,点提交跳到一个servlet中,在这里获得one.jsp中的查询条件,进行数据库连接,查询操作,之后跳转到two.jsp页面中,进行显示
[/Quote]
能不能代码示范下,初学者多多指教。。
恶魔 2010-05-19
  • 打赏
  • 举报
回复
建议别这么做,在one.jsp里选择查询条件,点提交跳到一个servlet中,在这里获得one.jsp中的查询条件,进行数据库连接,查询操作,之后跳转到two.jsp页面中,进行显示
xxy8100 2010-05-18
  • 打赏
  • 举报
回复
你可以加一个日期选择框,建议使用日历控件,然后一起提交不就行了吗 只要多个where条件就行了啊 可以提交到本页面处理

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧