很常见的业务场景: 一个jsp页面里面有一个form表单,表单中有几个input参数,两个按钮。一个按钮是查询功能,另一个按钮是下载功能。
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<form name="f" action="Retail.jsp" method="post">
<div id="casin" style="visibility:hidden;"> casin:<input type="text" name="casin" value="<%=session.getAttribute("casin").toString() %>"></div>
<div id="season" style="visibility:hidden;"> season:<input type="text" name="season" value="<%=session.getAttribute("season").toString() %>"></div>
<div id="pasin" style="visibility:hidden;"> pasin:<input type="text" name="pasin" value="<%=session.getAttribute("pasin").toString() %>"></div>
<div id="colorName" style="visibility:hidden;"> colorName:<input type="text" name="colorName" value="<%=session.getAttribute("colorName").toString() %>"></div>
<div id="sizeName" style="visibility:hidden;"> sizeName:<input type="text" name="sizeName" value="<%=session.getAttribute("sizeName").toString() %>"></div>
<input type="submit" name="Submit" οnclick="javascript:document.f.action='Retail.jsp';document.f.submit();" value="查询" />
<input type="button" name="submit2" οnclick="javascript:document.f.action='<%=path%>/servlet/ExportFile';document.f.submit();" value="下载列表" />
</form>
大家注意: form 的name =“f” ,后面自带的action已经没用了,被架空了。 后面的两个按钮通过onclick事件已经重新各自找新的action路径了。 查询找的一个新jsp,下载找的是一个配置了的servlet。