html向servlet传递数据,ajax实现在html的table里面手动输入多个数据并传入servlet层...

1. 针对的问题

前端页面为html页面,由于是静态页面,数据的传入传出都必须引入ajax来实现。这里主要实现按键触发,调用servlet层的Java代码,完成html页面手动输入数据(输入较多数据)并传向后台。

2. 解决方法

(1) html页面(文件名index.html)

板号CH01CH02CH03CH04CH05CH06CH07CH08CH09CH10CH11CH12CH13CH14CH15CH16

取消

保存

functionfun(){varPreList=[];for(vari=0;i<1;i++){for(vark=0;k<16;k++){vartext=document.getElementsByName("pDB"+(i+1)+"CH"+(k+1)+"")[0].value;if(text!=false){

PreList=PreList.concat(text);

}

}

}

$.ajax({

url :"http://localhost:8080/tianjin-ssms-meach/Pre_devServlet?pDBCH="+PreList+"",

type :"post",

});

}

静态页面的添加方法:在中添加type属性为button,因其本身默认为submit属性;再添加onclick,后面为函数命名,再添加JS的function函数,实现想要实现的功能。再添加ajax,添加url地址,(本文件servlet层命名为Pre_devServlet.java)

注意:要想将前台获取到的数据传入servlet层,单纯的调用servlet文件是实现不了的,必须添加你获取到的值,我的数据组为PreList,因此表现出来为

url : "http://localhost:8080/xxx(工程文件名)/Pre_devServlet?pDBCH="+PreList+"",

3. servlet层接收数据

packagecom.bjut.servlet;importjava.io.IOException;importjava.util.ArrayList;importjava.util.List;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;public class Pre_devServlet extendsHttpServlet

{/****/

private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException{//获取请求方法

this.doPost(request, response);

}//doPost 客户端将数据传送至服务器

protected void doPost(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException{

String name=null;

name= request.getParameter("pDBCH");

System.out.println(name);

}

}

通过dopost实现:里面主要用到函数getParameter("html页面中的name属性");

在web.xml中加入servlet作为路径指引

Pre_devServlet

com.bjut.servlet.Pre_devServlet

Pre_devServlet

/Pre_devServlet

4. 结果展示

前台界面输入:

d5ca8e74858d3ee2b3c14cc9fe413108.png

后台servlet层接收:

1ec2b3916d23bee54e3357b0a2a54590.png

原文:https://www.cnblogs.com/lwcwj/p/12823945.html