帮忙写个servlet!我想实现的是:下面的search.jsp每个文本框前都有多选框,在servlet页面来判断多选框中对应的文本框值,然后显示不同的内容。比如search.jsp选中姓名和部门,那么在servlet中根据姓名和部门对数据库进行查询,也就是 把姓名和部门的值作为条件来查询,即:select * from show where name='"+name+"' dpt='"+name1+"'search.jsp
<form >
<input type="checkbox" name="check_id" value="people" > 填写你要查询的姓名:<input type="text" name="name"><br>
<input type="checkbox" name="check_id" value="dpt">
填写你要查询的部门:<input type="text" name="name1"><br>
<input type="checkbox" name="check_id" value="lr">
填写你要查询的录入人员:<input type="text" name="name2"><br>
<input type="checkbox" "check_id" value="belong">
填写你要查询的归属人员:<input type="text" name="name3"><br>
<input type="checkbox" "check_id" value="month"">
填写你要查询的财务月份:<input type="text" name="name4"><br>
<input type="checkbox" "check_id" value="type">
填写你要查询的费用类型:<input type="text" name="name5"><br>
<input type="checkbox" "check_id" value="pt">
填写你要查询的项目类型:<input type="text" name="name6"><br>
<input type="checkbox" "check_id" value="pb">
填写你要查询的项目归属:<input type="text" name="name7"><br>
<input type="checkbox" "check_id" value="mp">
填写你要查询的费用科目:<input type="text" name="name8"><br>
<input type="checkbox" "check_id" value="pc">
填写你要查询的科目明细:<input type="text" name="name9"><br>
<input type="submit" value="搜索">
</form>
<form >
<input type="checkbox" name="check_id" value="people" > 填写你要查询的姓名:<input type="text" name="name"><br>
<input type="checkbox" name="check_id" value="dpt">
填写你要查询的部门:<input type="text" name="name1"><br>
<input type="checkbox" name="check_id" value="lr">
填写你要查询的录入人员:<input type="text" name="name2"><br>
<input type="checkbox" "check_id" value="belong">
填写你要查询的归属人员:<input type="text" name="name3"><br>
<input type="checkbox" "check_id" value="month"">
填写你要查询的财务月份:<input type="text" name="name4"><br>
<input type="checkbox" "check_id" value="type">
填写你要查询的费用类型:<input type="text" name="name5"><br>
<input type="checkbox" "check_id" value="pt">
填写你要查询的项目类型:<input type="text" name="name6"><br>
<input type="checkbox" "check_id" value="pb">
填写你要查询的项目归属:<input type="text" name="name7"><br>
<input type="checkbox" "check_id" value="mp">
填写你要查询的费用科目:<input type="text" name="name8"><br>
<input type="checkbox" "check_id" value="pc">
填写你要查询的科目明细:<input type="text" name="name9"><br>
<input type="submit" value="搜索">
</form>
解决方案 »
- 如何在一个文本框中,提示出以前输入过的信息?
- 在spring中已经有了一个连接oracle数据库的配置,在不改变spring配置的情况下,怎么在代码中实现访问另一个oracle数据库
- 急!
- 有关servlet 检索html
- IE黑屏问题,急求解!
- 电子地图的实现
- swfupload在火狐下的问题?
- usebean无法使用自己的类
- weblogic中下载文件乱码!急
- 郁闷啊,非常简单的代码却总是有问题,关于request.getParameter
- 急---急---tomcat6.0 发布一个系统过几天页面就访问不了啦,请问是哪方面的原因!!!!!!!!!!!!
- 如何把四个HashMap对象中数据转存到一个HashMap对象中
OK
StringBuffer sql="select * from show where ...";
if(name!=null||!"".equals(name)){
sql.append(" and ...");
}
....
在 Servlet 里将request.getParameter(name);……request.getParameter(name9);的值全部以"name="+request.getParameter(name)的方式add到List中
如:List list=new ArrayList();
list.add("name="+request.getParameter("name"));
list.add("dept="+request.getParameter("name1"));
......查询语句:StringBuffer sql="select * from show";
增加查询条件:
if (list != null && list.size() > 0 ) {
for (int i = 0; i < conditions.size(); i++) {
String str = list.get(i);
if (i == 0) {
hql.append(" WHERE " + str);
}else {
hql.append(" AND " + str);
}
}
}
将需要显示的列显示出来就行了啊
search.jsp
<form >
<input type="checkbox" name="check_id1" value="people" > 填写你要查询的姓名: <input type="text" name="name"> <br>
<input type="checkbox" name="check_id2" value="dpt">
填写你要查询的部门: <input type="text" name="name1"> <br>
<input type="checkbox" name="check_id" value="lr">
填写你要查询的录入人员: <input type="text" name="name2"> <br>
<input type="checkbox" "check_id" value="belong">
填写你要查询的归属人员: <input type="text" name="name3"> <br>
<input type="checkbox" "check_id" value="month"">
填写你要查询的财务月份: <input type="text" name="name4"> <br>
<input type="checkbox" "check_id" value="type">
填写你要查询的费用类型: <input type="text" name="name5"> <br>
<input type="checkbox" "check_id" value="pt">
填写你要查询的项目类型: <input type="text" name="name6"> <br>
<input type="checkbox" "check_id" value="pb">
填写你要查询的项目归属: <input type="text" name="name7"> <br>
<input type="checkbox" "check_id" value="mp">
填写你要查询的费用科目: <input type="text" name="name8"> <br>
<input type="checkbox" "check_id" value="pc">
填写你要查询的科目明细: <input type="text" name="name9"> <br>
<input type="button" onclick="go()" value="搜索">
<input type=hidden name="cond" value=""></form>
<script>
function go(){
if(docunment.all.check_id1.checked){
cond+=" and name='"+document.all.name.value;
}
if(docunment.all.check_id2.checked){
cond+=" and dpt='"+document.all.dpt.value; }
.
.
.
document.all.sql.value=cound;
}
</script>
servlet:
String sql=".....";
String cond = request.getParameter("sql");
sql+=cond;
StringBuffer sql = new StringBuffer(
"SELECT a.id, e.realName as eName, c.name as cName, a.title, a.createDateTime, a.isPub FROM articles AS a, elements AS e, categorys AS c WHERE a.elem_id=e.id AND a.category_id=c.id ");
List params = new ArrayList();
if (StringUtils.isNotBlank(titleKeyWord)) {
sql.append("AND a.title like ? ");
params.add("%" + titleKeyWord.trim() + "%");
}
if (createDate != null) {
sql.append("AND TO_DAYS(a.createDateTime)=TO_DAYS(?) ");
params.add(createDate);
}
if (isPub != null) {
sql.append("AND a.isPub=? ");
params.add(isPub);
}
sql.append("ORDER BY a.id DESC ");
if (start != null && length != null) {
sql.append("limit ?,?");
params.add(start);
params.add(length);
}
log.info("SQL[" + sql.toString() + "] PARAMS[titleKeyWord=" + titleKeyWord + ",createDate=" + createDate + ",isPub=" + isPub + ",start=" + start + ",length=" + length + "]");
return getJdbcTemplate().queryForList(sql.toString(), params.toArray());
}