首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用javascript函数打印动态html表格(jquery datatable插件)

问使用javascript函数打印动态html表格(jquery datatable插件)
EN

Stack Overflow用户
提问于 2013-12-08 22:26:16
回答 1查看 564关注 0票数 1

好的,我已经在这个问题上研究了很长一段时间,并对它进行了彻底的研究。首先,我使用的是Spring工具套件-- MVC项目。处理.jsp页面

我正在尝试找出动态创建和编辑HTML表的最佳/适当/有效的方法,该表将基于来自MySql数据库的数据链接到dataTables (jQuery插件)表。

我希望用户能够更新基于不同的用户input....buttons,价格范围输入等表。

到目前为止,我研究过的最好的方法是将表的创建封装在一个js函数中,然后创建其他函数来修改表、添加表、更新表,或者做任何我想做的事情。到目前为止,我没有用函数创建datatable的幸运,我能做的最好的事情就是使用java连接到我的数据库,并创建一个SINLGE表,成功地加载并显示数据库中的数据,问题是我不能在页面加载后更改表,每次基于新的sql查询刷新表时都失败了。

Datatables有一个相当大的api,我可以使用它向表中添加一行,但其他看起来很有用的功能,比如更新表,并不起作用。

这让我思考我的方法是否应该完全重新考虑。我应该采取什么方法?

如果需要,我会发布代码

提前谢谢你

EN

回答 1

Stack Overflow用户

发布于 2013-12-09 11:38:44

代码语言:javascript
复制
 <%
 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

代码语言:javascript
复制
$(function() {
     $("#example").dataTable({
       "sScrollY": "400px",
       "bPaginate": false,
       "bScrollCollapse": true 
     });
}

我认为正确的方法是在我的控制器中使用JDBCTemplate --但是我不确定如何在我的.jsp文件中引用该数据。

同样,我的目标是创建一个表(datatables jquery插件),并根据用户与jsp页面、按钮、文本输入等的交互来更新该表。

在datatables api - fnDraw()中有一个方法,它应该重绘表,但是我不知道把这个函数放在哪里。

谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20454501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档