Java 无法从servlet访问使用jquery创建的表

Java 无法从servlet访问使用jquery创建的表,java,jquery,html,servlets,Java,Jquery,Html,Servlets,基于stackoverflow提供的帮助,我创建了带有hiddenfields的表,以将值传递给servlet,但在servlet中,我无法获取输入字段的值 以下是创建表的jQuery代码: $("#linkInstr").click(function() { var arr = new Array(); var cdid = $("#cboinstr option:selected"); var code = $("#cbocode option:selected");

基于stackoverflow提供的帮助,我创建了带有hiddenfields的表,以将值传递给servlet,但在servlet中,我无法获取输入字段的值

以下是创建表的jQuery代码:

$("#linkInstr").click(function() {
    var arr = new Array();
    var cdid = $("#cboinstr option:selected");
    var code = $("#cbocode option:selected");
    $.get("trnDC?caseNo=21&insid="+cdid.text(), function(data) {
        arr = data.split(",");
        var contents = '<tr><td><input type="checkbox" id="chk_select'+counter+'" /></td><td><input type="hidden" id="txtCodeid'+counter+'" value="'+code.text()+'"/> ' + code.text()+ '</td><td><input type="hidden" id="txtInstrid'+counter+'" value="'+cdid.text()+'"/>' + cdid.text() + '</td><td>' + arr[0] + '</td><td>' + arr[1] + '</td><td>' + arr[2] + '</td></tr>';
        alert(contents);
        $("#tblDetails").append(contents);
        counter++;
    })
})
$(“#linkInstr”)。单击(函数(){
var arr=新数组();
var cdid=$(“#cboinstr选项:选中”);
var代码=$(“#cbocode选项:已选定”);
$.get(“trnDC?caseNo=21&insin=“+cdid.text(),函数(数据){
arr=数据分割(“,”);
var contents=''+code.text()+''+cdid.text()+''+arr[0]+''+arr[1]+''+arr[2]+'';
警报(内容);
$(“#tblDetails”)。追加(内容);
计数器++;
})
})
下面是我的Servlet代码:

int noOfRows = Integer.parseInt(request.getParameter("noOfRows"));

for (int i = 0; i < noOfRows; i++) {
    int j = i + 1;
    String codeid = request.getParameter("txtCodeid" + i);
    throw new Exception(request.getParameter("txtCodeid" + i));
    String instrId = request.getParameter("txtInstrid"+i);
    st.executeUpdate("insert into trndcdtls values(" +ccode +"," +fyear_code +"," +Dcno +"," + j +",'" + codeid +"','" + instrId +  "','"+status+"')");
}
intnoofrows=Integer.parseInt(request.getParameter(“noOfRows”);
for(int i=0;i

异常是我故意抛出的,以检查任何值在请求时是否可用,但它没有显示任何内容。

您需要为输入字段指定一个名称。这将成为请求参数名

因此

<input id="foo">
<input id="bar">

你需要

<input name="foo">
<input name="bar">

ID纯粹是为了标识客户端的元素,而不是服务器端的元素。您可以添加它们,但它们不会被发送到服务器端。只有输入元素的
名称
-
对将作为请求参数发送到服务器端


也就是说,请在Java代码中使用,以避免风险。此外,让我惊讶的是,在流程中间,您得到了用异常编译的java代码。它会给出“无法访问的代码”错误。

您需要为输入字段提供一个名称。这将成为请求参数名

因此

<input id="foo">
<input id="bar">

你需要

<input name="foo">
<input name="bar">

ID纯粹是为了标识客户端的元素,而不是服务器端的元素。您可以添加它们,但它们不会被发送到服务器端。只有输入元素的
名称
-
对将作为请求参数发送到服务器端


也就是说,请在Java代码中使用,以避免风险。此外,让我惊讶的是,在流程中间,您得到了用异常编译的java代码。它会给出“无法访问的代码”错误。

hiddenfield输入的html标记是在发布中被转换的,因此代码是var contents=''+code.text()+''+cdid.text()+''+arr[0]+''+arr[1]+''+arr[2]+'';hiddenfield输入的html标记是在发布中转换的,因此代码是var contents=''+code.text()+''+cdid.text()+''+arr[0]+''+arr[1]+''+arr[2]+'';我正在使用netbeans ide 6.7,它允许我在任何方便的时候抛出异常:-)感谢preparedstatement归纳法。我正在使用netbeans ide 6.7,它允许我在任何方便的时候抛出异常:-)感谢preparedstatement归纳法。