目的:允许用户更新客户端的表格,然后更新数据库,一旦他们按下新的更改进入并在客户端显示新的更改。如何正确提交AJAX到数据库
状态:目前我能够显示表格,通过id
和value
使用可变jeditable和POST
值到我的服务器端out.jsp页面,然后使用request.getParamater
接收var和显示回编辑表客户端。我还使用JDBC和SQLITE动态生成这些表,并希望使用相同的过程来插入或替换新值。
问题:如何传递更多关于行/列信息的信息,以便用这些新值正确更新数据库?
问题2:是否有一种方法可以传递整行?如果是这样,我可以做一个简单的插入或将所有的值替换回表中。
目前代码:
JSP客户端:client.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script
src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"
type="text/javascript" charset="utf-8"></script>
<script src="js/jedit.js" type="text/javascript" charset="utf-8"></script>
<title>Jeditable Test</title>
<script type="text/javascript">
$(document).ready(function() {
$('.edit').editable('out.jsp', {
indicator : 'Saving...',
tooltip : 'Click to edit...'
});
});
</script>
</head>
<body>
<div class="content">
<table id="demotable1"
style="border: 1px solid #ccc; margin: 50px auto;">
<thead style="border: 1px solid #ccc;">
<tr>
<th filter-type='ddl' style="border: 1px solid #ccc;">ONE</th>
<th filter-type='ddl' style="border: 1px solid #ccc;">TWO</th>
</tr>
</thead>
<tbody>
<tr>
<td class='edit' in="ONE" style='border: 1px solid #ccc;'>Value 1</td>
<td class='edit' id="TWO" style='border: 1px solid #ccc;'>Value 2</td>
</tr>
<tr>
<td class='edit' id="ONE" style='border: 1px solid #ccc;'>Value 3</td>
<td class='edit' id="TWO" style='border: 1px solid #ccc;'>Value 4</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
表图像:
JSP - out.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<%
String id = request.getParameter("id");
String value = request.getParameter("value");
%>
</head>
<body>
<%=id%>
<%=value%>
</body>
</html>
谢谢JDBC连接,那是什么我脑子里想的,因为我需要三个引用为目标的右行/列。我希望在默认情况下有更多的var从'jeditable'像row_id或列名称。你有任何可玩的经验吗? – Rhys 2013-03-03 03:24:08
不幸的是:/ ...我的答案如何开始;-) – A4L 2013-03-03 03:28:38
你可以使用'getParameterMap'来查看所有提交的数据,也许(希望)你会认识到什么。 javadoc - > http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#getParameterMap%28%29 – A4L 2013-03-03 03:37:41