jquery 传递参数给后台servlet
1、首先在JSP文件里面,有一个form表单。
<form>
<h3>
站点查询
</h3>
<span class="STYLE2">站点名称</span>
<input id="stationName" type="text" name="stationName"size="18" maxlength="20">
<input type="submit" id="btn01" value="查询" />
<input type="reset" id="btn02" value="重置" />
</form>
注意:这个里面有几个小地方要注意一下:"查询"按钮的ID,站点名称的ID和NAME.要和下面在JQUERY里面保持一致。写的有不明白的地方,可以说出来。请大家见谅!
2、然后通过jquery AJAX中的get、post方法。与后台servlet(控制器)通信。
<script type="text/javascript">
$(document).ready(function(){
$("#btn01").click(function(){
var stationName = $("#stationName").val();
$.get("StationController",{type:"2",stationName:stationName},function(result){
alert(result);
});
}
});
});
</script>
注意:这个里面要注意。var stationName = $("#stationName").val();是取表单元素的值。StationController 是servlet名称。{type:"2",stationName:stationName} 是要传到后台的参数,还有一个回调函数。
3、后台的控制器类。如下:
package com.tm.controller;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.tm.service.StationService;
import com.tm.test.ApplicationContextUtil;
public class StationController extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html; charset=utf-8");
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
String type = request.getParameter("type");
StationService stationService = (StationService) ApplicationContextUtil
.getInstance().getBean("stationServiceImpl");
if (type.equals("2")) {
String name = request.getParameter("stationName");
name = new String(name.getBytes("iso-8859-1"), "utf-8");
String result = stationService.queryStationByName(name);
out.write(result);
}
out.flush();
out.close();
System.out.println("end");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
这里面省略了一些代码 ,主要是通过这个小例子以及注意点,之后再用JQUERY传递参数给SERVLET的时候,明白其中的一些细节。