目录

查询实现

2.8.3. 查询实现

首先在通用查询的jsp中引入通用查询所涉及的js文件

<!--这两行为读取相关的js文件-->
  <script type='text/javascript' src="<%=request.getContextPath()%>/reportServlet?action=10&file=%2Fcom%2Frunqian%2Freport4%2Finput%2Fcalendar.js">
  </script>
  <script type='text/javascript' src="<%=request.getContextPath()%>/reportServlet?action=10&file=%2Fcom%2Frunqian%2Freport4%2Ftag%2FcomQuery.js"></script>

然后重写点击查询时的方法,如下所示:

comQuery.query = function() { var where = comQuery.genSql()//取得通用查询生成的where子句 if (where == "") { where = "1=1"; } //为查询表单中的where隐藏域赋值,并提交表单 $("where").value=where; $("queryForm").submit(); }

注意,这个表单需要用户自己定义,所以示例

<!--提交查询的表单,至少有where及raq两个参数-->
  <form id="queryForm" name="queryForm" method=post action="<%=queryFormAction%>" target="reportPanel">
  <input type=hidden name=where> 
  <input type=hidden name=raq value="<%=report%>">
  <% //其它隐藏的参数
  java.util.Enumeration em = request.getParameterNames();
  while ( em.hasMoreElements() ) {
  String name = ( String ) em.nextElement();
  if (request.getParameter( name ) != null)
  out.write("<input type=hidden name='" + name + "' value='" + request.getParameter( name ) + "'>"); }
  %> </form>

这样点击查询后,就会提交表单,交给服务器的对应的action处理。

具体的action实现可以参看例子中的queryShowReport.jsp。