Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我在jsp中有一个表,它有5行3列,我想在servlet中打印它。我如何才能做到这一点? 函数addRow(){ var medicinename=document.getElementById(“medicinename”); var time=document.getElementById(“时间”); var duration=document.getElementById(“duration”); var-when=document.getElementById(“when”); var table=document.getElementById(“myTableData”); var rowCount=table.rows.length; var row=table.insertRow(rowCount); row.insertCell(0.innerHTML=''; row.insertCell(1).innerHTML=medicinename.value; row.insertCell(2).innerHTML=time.value; row.insertCell(3).innerHTML=duration.value; row.insertCell(4).innerHTML=when.value; document.getElementById('medicinename')。值=“”; document.getElementById('time')。值=''; document.getElementById('duration')。值=“”; document.getElementById('when')。value=''; } 函数deleteRow(obj){ var index=obj.parentNode.parentNode.rowIndex; var table=document.getElementById(“myTableData”); 表.删除行(索引); } 函数addTable(){ var myTableDiv=document.getElementById(“myDynamicTable”); var table=document.createElement('table'); 表2.border='1'; var tableBody=document.createElement('TBODY'); table.appendChild(表体); 对于(var i=0;i_Javascript_Java_Mysql_Jsp_Servlets - Fatal编程技术网

Javascript 我在jsp中有一个表,它有5行3列,我想在servlet中打印它。我如何才能做到这一点? 函数addRow(){ var medicinename=document.getElementById(“medicinename”); var time=document.getElementById(“时间”); var duration=document.getElementById(“duration”); var-when=document.getElementById(“when”); var table=document.getElementById(“myTableData”); var rowCount=table.rows.length; var row=table.insertRow(rowCount); row.insertCell(0.innerHTML=''; row.insertCell(1).innerHTML=medicinename.value; row.insertCell(2).innerHTML=time.value; row.insertCell(3).innerHTML=duration.value; row.insertCell(4).innerHTML=when.value; document.getElementById('medicinename')。值=“”; document.getElementById('time')。值=''; document.getElementById('duration')。值=“”; document.getElementById('when')。value=''; } 函数deleteRow(obj){ var index=obj.parentNode.parentNode.rowIndex; var table=document.getElementById(“myTableData”); 表.删除行(索引); } 函数addTable(){ var myTableDiv=document.getElementById(“myDynamicTable”); var table=document.createElement('table'); 表2.border='1'; var tableBody=document.createElement('TBODY'); table.appendChild(表体); 对于(var i=0;i

Javascript 我在jsp中有一个表,它有5行3列,我想在servlet中打印它。我如何才能做到这一点? 函数addRow(){ var medicinename=document.getElementById(“medicinename”); var time=document.getElementById(“时间”); var duration=document.getElementById(“duration”); var-when=document.getElementById(“when”); var table=document.getElementById(“myTableData”); var rowCount=table.rows.length; var row=table.insertRow(rowCount); row.insertCell(0.innerHTML=''; row.insertCell(1).innerHTML=medicinename.value; row.insertCell(2).innerHTML=time.value; row.insertCell(3).innerHTML=duration.value; row.insertCell(4).innerHTML=when.value; document.getElementById('medicinename')。值=“”; document.getElementById('time')。值=''; document.getElementById('duration')。值=“”; document.getElementById('when')。value=''; } 函数deleteRow(obj){ var index=obj.parentNode.parentNode.rowIndex; var table=document.getElementById(“myTableData”); 表.删除行(索引); } 函数addTable(){ var myTableDiv=document.getElementById(“myDynamicTable”); var table=document.createElement('table'); 表2.border='1'; var tableBody=document.createElement('TBODY'); table.appendChild(表体); 对于(var i=0;i,javascript,java,mysql,jsp,servlets,Javascript,Java,Mysql,Jsp,Servlets,您需要通过使用表单或Ajax在JavaScript中收集表数据,以将此数据发送到servlet。除非发送,否则无法从servlet中的请求参数获取表数据 形式的例子 <script> function addRow() { var medicinename = document.getElementById("medicinename"); var time = document.getElementById("time"); var duration =

您需要通过使用
表单
Ajax
JavaScript
中收集表数据,以将此数据发送到servlet。除非发送,否则无法从
servlet
中的请求参数获取表数据

形式的例子

<script>
function addRow() {

    var medicinename = document.getElementById("medicinename");
    var time = document.getElementById("time");
    var duration = document.getElementById("duration");
    var when = document.getElementById("when");
    var table = document.getElementById("myTableData");

    var rowCount = table.rows.length;
    var row = table.insertRow(rowCount);

    row.insertCell(0).innerHTML= '<input type="button" value = "Delete" onClick="Javacsript:deleteRow(this)">';
    row.insertCell(1).innerHTML= medicinename.value;
    row.insertCell(2).innerHTML= time.value;
    row.insertCell(3).innerHTML= duration.value;
    row.insertCell(4).innerHTML= when.value;
    document.getElementById('medicinename').value='';
    document.getElementById('time').value='';
    document.getElementById('duration').value='';
    document.getElementById('when').value='';
}

function deleteRow(obj) {

    var index = obj.parentNode.parentNode.rowIndex;
    var table = document.getElementById("myTableData");
    table.deleteRow(index);

}

function addTable() {

    var myTableDiv = document.getElementById("myDynamicTable");

    var table = document.createElement('TABLE');
    table.border='1';

    var tableBody = document.createElement('TBODY');
    table.appendChild(tableBody);

    for (var i=0; i<3; i++){
       var tr = document.createElement('TR');
       tableBody.appendChild(tr);

       for (var j=0; j<4; j++){
           var td = document.createElement('TD');
           td.width='75';
           td.appendChild(document.createTextNode("Cell " + i + "," + j));
           tr.appendChild(td);
       }
    }
    myTableDiv.appendChild(table);

}

</script>
<table>
    <tr>
        <td>Medicine Name:</td>
        <td><input type="text" id="medicinename"></td>
    </tr>
    <tr>
        <td>Time:</td>
        <td><input type="text" id="time">
    </tr>
    <tr>
        <td>Duration:</td>
        <td><input type="text" id="duration">
    </tr>
    <tr>
        <td>When?</td>
        <td><input type="text" id="when">
        <input type="button" id="add" value="Add" onclick="Javascript:addRow()"></td>
    </tr>
    <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
    </tr>
</table>

<div id="mydata">
<table id="myTableData"  border="1" cellpadding="2">
    <tr>
        <td>&nbsp;</td>
        <td><b>Medicine Name</b></td>
        <td><b>Medicine Time&nbsp</b></td>
        <td><b>Medicine Duration</b></td>
        <td><b>Medicine When?</b></td>
    </tr>
</table>

请尝试一下..!

因为您使用的是jQuery和Servlet,但您编辑了问题并删除了代码。下面是一些使用jQuery的代码示例

样本表:

String uname = request.getParameter("uname");
String password = request.getParameter("password");
现在,在servlet代码中,使用

{
  [{'column1':1,'column2':2}, {'column1':3,'column2':4}]
}
但是您需要将JSON转换为JavaPOJO对象


GSON教程如另一个答案所述,可以使用表单中的
input
元素,也可以使用另一个答案中给出的
JSON
对象

表单输入法

HTML或JSP

public class TableData{
   private String column1;
   private String column2;

   public String getColumn1(){
        return column1;
   }

   public void setColumn1(String column1){
        this.column1 = column1;
   }

   public String getColumn2(){
        return column2;
   }

   public void setColumn2(String column2){
        this.column2 = column2;
   }
}

@整体燃烧table@Utkarsh等等,我把它贴出来了。这可能吗@Crystalis这可能吗@Utkarsh@Utkarsh先生,我知道你在说什么…但是现在真的不知道Ajax调用如何将数据发送到你的servlet…你能对此提供帮助吗?我会感谢你的,我知道,但是我有很多tablethanx。我的代码很吃力,这就是为什么我为获得更好的解决方案…好的,谢谢你的帮助,我尝试了一下,让你知道。是的,但没有得到。看到我在jsp中有4个字段和一个按钮,当我按下按钮时,我所有的文本字段包含的数据都存储在表中,这只是为了jsp,它工作得很好。但我的问题是,我想抓住我填写的表,它应该打印出来。但我不知道如何才能抓住它参数和哪个参数。关于AJAX和JSON,我真的不知道。等等,我更新我的代码,检查servlet控制台中是否返回了itnull。如果您更新了jsp或html,我已经在jsp中添加了html?提供您的servlet代码。在servlet控制台中返回了NULL rowmedicing=request.getParameter(“rowMedicine1”);System.out.println(rowMedicine);在servlet中,结果仍然相同
<script type="text/javascript" >
    function collectData(){
        var tableData = [];
        $('#table_id tr').each(function(){
            var $this = $(this);
            var tds = $this.find('td');
            var i = 0;
            //if we have data in that row
            if(tds.length){
                var rowData = {
                    column1:tds[0].innerHTML,
                    column2:tds[1].innerHTML,
                }
                tableData.push(rowData);
            }
        });
        console.log(tableData);

       // Send it via AJAX

        $.ajax({
             url: '/yourServletName', // Change name to your servlet
             type: 'POST', 
             dataType: 'json',
             data: {objarray: JSON.stringify(tableData)},
             success: function(result) {
                alert('SUCCESS');
             }
        });
    }
{
  [{'column1':1,'column2':2}, {'column1':3,'column2':4}]
}
 String tableArray = request.getParameter("objarray"). 
public class TableData{
   private String column1;
   private String column2;

   public String getColumn1(){
        return column1;
   }

   public void setColumn1(String column1){
        this.column1 = column1;
   }

   public String getColumn2(){
        return column2;
   }

   public void setColumn2(String column2){
        this.column2 = column2;
   }
}
    <table>
        <tr>
            <td>Medicine Name:</td>
            <td><input type="text" id="medicinename"></td>
        </tr>
        <tr>
            <td>Time:</td>
            <td><input type="text" id="time">
        </tr>
        <tr>
            <td>Duration:</td>
            <td><input type="text" id="duration">
        </tr>
        <tr>
            <td>When?</td>
            <td><input type="text" id="when">
            <input type="button" id="add" value="Add" onclick="Javascript:addRow()"></td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
        </tr>
    </table>

    <div id="mydata">

    <form action="yourServletName" method="post">
    <table id="myTableData"  border="1" cellpadding="2">
        <tr>
            <td>&nbsp;</td>
            <td><b>Medicine Name</b></td>
            <td><b>Medicine Time&nbsp</b></td>
            <td><b>Medicine Duration</b></td>
            <td><b>Medicine When?</b></td>
        </tr>
    </table>
    <button type="submit" class="button" >Submit</button>
    <!-- Update the rowCount on Submitting the button -->
     <input type="hidden" id="rowCount" value="" />
    </form>
   </div>
function addRow() {

    var medicinename = document.getElementById("medicinename");
    var time = document.getElementById("time");
    var duration = document.getElementById("duration");
    var when = document.getElementById("when");
    var table = document.getElementById("myTableData");

    var rowCount = table.rows.length;
    var row = table.insertRow(rowCount);

    row.insertCell(0).innerHTML= '<input type="button" value = "Delete" onClick="Javacsript:deleteRow(this)">';
    row.insertCell(1).innerHTML= '<input type="text" name="'+'rowMedicine'+rowCount+'" value="'+medicinename.value+'" readonly />';
    row.insertCell(2).innerHTML= '<input type="text" name="'+'rowTime'+rowCount+'" value="'+time.value+'" readonly />';
    row.insertCell(3).innerHTML= '<input type="text" name="'+'rowDuration'+rowCount+'" value="'+duration.value+'" readonly />';
    row.insertCell(4).innerHTML= '<input type="text" name="'+'rowWhen'+rowCount+'" value="'+when.value+'" readonly />';
    document.getElementById('medicinename').value='';
    document.getElementById('time').value='';
    document.getElementById('duration').value='';
    document.getElementById('when').value='';
}

function deleteRow(obj) {

    var index = obj.parentNode.parentNode.rowIndex;
    var table = document.getElementById("myTableData");
    table.deleteRow(index);
}

function addTable() {

    var myTableDiv = document.getElementById("myDynamicTable");

    var table = document.createElement('TABLE');
    table.border='1';

    var tableBody = document.createElement('TBODY');
    table.appendChild(tableBody);

    for (var i=0; i<3; i++){
       var tr = document.createElement('TR');
       tableBody.appendChild(tr);

       for (var j=0; j<4; j++){
           var td = document.createElement('TD');
           td.width='75';
           td.appendChild(document.createTextNode("Cell " + i + "," + j));
           tr.appendChild(td);
       }
    }
    myTableDiv.appendChild(table);

} 
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // Now, you can get the parameter from input elements using name
    String rowMedicine  = request.getParameter("rowMedicine1");
    //Similarly get the values of all parameters using names 

    //get the row count 
    //iterate through it and save it in your database


}