当前位置: 代码迷 >> Web前端 >> jquery 传送参数给后台servlet
  详细解决方案

jquery 传送参数给后台servlet

热度:108   发布时间:2012-08-26 16:48:05.0
jquery 传递参数给后台servlet

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的时候,明白其中的一些细节。

  相关解决方案