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> </td>
<td> </td>
</tr>
</table>
<div id="mydata">
<table id="myTableData" border="1" cellpadding="2">
<tr>
<td> </td>
<td><b>Medicine Name</b></td>
<td><b>Medicine Time </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> </td>
<td> </td>
</tr>
</table>
<div id="mydata">
<form action="yourServletName" method="post">
<table id="myTableData" border="1" cellpadding="2">
<tr>
<td> </td>
<td><b>Medicine Name</b></td>
<td><b>Medicine Time </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
}