1. 使用同一个Servlet
- 在Form中加入一个不可见的标记控件,这个控件可以是input等可以设置value属性的控件,并为其指定id
- 为button设置onclick事件
<form method="post" action="manager">
...
<input type="text" id="flag" name="flag" value="query" style="visibility: hidden">
<button id="query" onclick="query()">查询</button>
<button id="download" onclick="download()">导出</button>
...
</from>
- 在JavaScript代码中改变标记控件的value属性
<script type="text/javascript">
function query() {
document.getElementById("flag").value="query";
document.forms[0].submit();
}
function download() {
document.getElementById("flag").value="download";
document.forms[0].submit();
}
</script>
...
String flag = request.getParamter("flag");
if(flag.equals("query")){
//query
}
else if(flag.equals("download")){
//download
}
...
2. 调用不同的Servlet
- 为不同的button指定不同的onclick事件,使其动态的改变Form的action属性,使其跳转到不同的Servlet
- 为button设置onclick事件
<form method="post" action="manager">
...
<input type="text" id="flag" name="flag" value="query" style="visibility: hidden">
<button id="query" onclick="query()">查询</button>
<button id="download" onclick="download()">导出</button>
...
</from>
<script type="text/javascript">
function query() {
document.forms[0].action="query";
document.forms[0].submit();
}
function download() {
document.forms[0].action="download";
document.forms[0].submit();
}
</script>