好的,我已经在这个问题上研究了很长一段时间,并对它进行了彻底的研究。首先,我使用的是Spring工具套件-- MVC项目。处理.jsp页面
我正在尝试找出动态创建和编辑HTML表的最佳/适当/有效的方法,该表将基于来自MySql数据库的数据链接到dataTables (jQuery插件)表。
我希望用户能够更新基于不同的用户input....buttons,价格范围输入等表。
到目前为止,我研究过的最好的方法是将表的创建封装在一个js函数中,然后创建其他函数来修改表、添加表、更新表,或者做任何我想做的事情。到目前为止,我没有用函数创建datatable的幸运,我能做的最好的事情就是使用java连接到我的数据库,并创建一个SINLGE表,成功地加载并显示数据库中的数据,问题是我不能在页面加载后更改表,每次基于新的sql查询刷新表时都失败了。
Datatables有一个相当大的api,我可以使用它向表中添加一行,但其他看起来很有用的功能,比如更新表,并不起作用。
这让我思考我的方法是否应该完全重新考虑。我应该采取什么方法?
如果需要,我会发布代码
提前谢谢你
发布于 2013-12-09 11:38:44
<%
ArrayList<ArrayList<String>> aaList = new ArrayList<ArrayList<String>>();
ResultSet rs;
Statement statement = null;
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://ics321instance.cglh44ydeyny.us-east-1.rds.amazonaws.com/ics321", "user", "password");
statement = conn.createStatement();
//this query should return all items
rs = statement.executeQuery("select * from Product where price < 10;");
int counter=1;
ResultSetMetaData metaData = rs.getMetaData();
%>
<table id = "example">
<thead>
<tr>
<%
for(int q = 1; q<=metaData.getColumnCount();q++)
{%>
<th><%= metaData.getColumnName(q)%></th>
<%
}
%>
</tr>
</thead>
<tbody>
<%
while(rs.next())
{
%>
<tr>
<%
for(int i = 1; i<=metaData.getColumnCount();i++)
{%>
<td><%= rs.getString(i)%></td>
<%
}
%>
</tr>
<%
}
%>
</tbody>
</table>因此,这里我连接到db并在jsp中执行查询。我知道这是一种不好的做法,但我想不出有什么其他方法。
在标题中,我有我的js
$(function() {
$("#example").dataTable({
"sScrollY": "400px",
"bPaginate": false,
"bScrollCollapse": true
});
}我认为正确的方法是在我的控制器中使用JDBCTemplate --但是我不确定如何在我的.jsp文件中引用该数据。
同样,我的目标是创建一个表(datatables jquery插件),并根据用户与jsp页面、按钮、文本输入等的交互来更新该表。
在datatables api - fnDraw()中有一个方法,它应该重绘表,但是我不知道把这个函数放在哪里。
谢谢
https://stackoverflow.com/questions/20454501
复制相似问题