查询实现
首先在通用查询的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。