<%@ page contentType="text/html; charset=GBK" language="java" errorPage=""%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/1999/xhtml">
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312" />
<TITLE>zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz</TITLE>
</HEAD>
<BODY>
<br>
<table>
  <tr>
    <th>XXXXXXXX YYYYYYYY ZZZZZZZ FUNCTION</th>
  </tr>
</table>
<br>
<table class="xxxxxxxxxxxxxxx" width="80%">
  <form name="frmSearch" id="frmSearch" method="post" action="abcdefg.html">
   <tr>
     <th>【XXXXXXXX搜索】</th>
   </tr>
<tr>
<td class="xxxxxx" align="left">
DDDD: <select name="dddd" id="dddd">
<option value="dddd1">dddd1</option>
<option value="dddd2">dddd2</option>
<option value="dddd3">dddd3</option>
</select>
EEEE; <select name="eeee" id="eeee">
<option vlaue="eeee1">eeee1</option>
<option vlaue="eeee2">eeee2</option>
<option vlaue="eeee3">eeee3</option>
</select>
</td>
</tr>
<tr>
<td>
<input type="submit" name="searchsubmit" id="searchsubmit" value="XXXX SEARCH"/>
</td>
</tr> 
  </form>
  
</table>
<br>
<table width="80%">
<tr align="center">
<td height="23" class="title">DDDD</td>
<td class="title">EEEE</td>
</tr>
<form  name="frmSearchResult" id="frmSearchResult" method="post"  action="abcdefg.html">
<c:choose>
      <c:when test = "${empty(aaaaaaa)}">
     <tr><td align='center' colspan="10">NO INFO </td></tr>
  </c:when>
   <c:otherwise>
      <c:forEach var = "cccc" items = "${aaaa.bbbb}">
   <tr align="center"> 
  <td>&nbsp;&nbsp;${cccc.dddd}</td>
  <td>&nbsp;&nbsp;${cccc.eeee}</td>   
</tr>
  </c:forEach>
  <tr>
   <td align="right" colspan="10"><input type="button" value="导出列表" onClick="deriveList()"></td>
  </tr>
  <tr>
   <td align="left" colspan="10"><%@include file="/xxxxxxx/pagesplit.jsp"%></td>
  </tr>
  <input type="hidden" name="dddd" value="${searchCondition.dddd}"/>
  <input type="hidden" name="eeee" value="${searchCondition.eeee}"/>
  <input type="hidden" name="pageUrl" value="abcdefg.html"/>  
     </c:otherwise>
  </c:choose>
</form>
</table>
</BODY>
</HTML>
<c:if test = "${!empty(msg)}">
<script type="text/javascript">
alert("${msg}");
</script>
</c:if>
<script language="javascript">
function deriveList(){
document.frmSearchResult.action='abcdefg.html?option=derivelist';
document.frmSearchResult.submit();
document.frmSearchResult.action='abcdefg.html';
}
</script>
上文是一JSP页面/* 搜索参数处理 */
         String option = request.getParameter("opiton");          String mobilebrand = request.getParameter("mobilebrand");
String mobilemodel = request.getParameter("mobilemodel");
Map<String, Object> searchCondition = new HashMap<String, Object>();

if(null != mobilebrand && !"".equals(mobilebrand)) {
searchCondition.put("mobilebrand", mobilebrand.trim());
}
if(null != mobilemodel && !"".equals(mobilemodel)) {
searchCondition.put("mobilemodel", mobilemodel.trim());
}
         
         request.setAttribute("searchCondition", searcgCondition);         /* 导出数据操作处理 */
         if("derivelist".equals()) {
             ……
             ……
         }
……
再接着就是后台处理了
前台页面共搜索数据,后台代码做相应处理
现在尾部有一导出数据按钮,导出搜索结果(可能又分页,要求导出所有满足查询条件的数据)
可现在选择查询条件后得到一定的数据,接着在下面点及导出数据按钮后,在后台发现没有搜索参数传进来,怎么回事儿哦?
前辈指点迷津……

解决方案 »

  1.   


    大哥 你把下边的脚本
    document.frmSearchResult.action='abcdefg.html?option=derivelist'; 
    document.frmSearchResult.submit(); 
    document.frmSearchResult.action='abcdefg.html'; 
    改为
    document.forms[0].action='abcdefg.html?option=derivelist'; 
    document.forms[0].submit(); 
    document.forms[0].action='abcdefg.html'; 
    你写的那个不知道是什么东东,我从来不那么写。大概是我孤陋寡闻了,怀疑你那样能不能吧action给改了
      

  2.   


    嗯,不过那么写也是可以提交表单,那样是按表单名渠道表单的,可以提交,隐藏域里的参数值也可以传递过去~
    后来查了查,原来是我电脑上的迅雷在搞鬼,我把后台的语句打印出来了,每次点击导出数据按钮后,后台都导出了两次,第一次是有查询参数的,第二次没了……
    迅雷默认会把下载的东西放入下载列表,设置一下把默认下载给去了,如果还弹出迅雷下载提示框,点击取消后,就可以弹出windows的另存为对话框了,这样导出的结果就是想要的结果,呵呵,不再纠结了
    (~ o ~)~zZ,把分给你了,兄弟~~~