0

好吧,我想做的就是将表格中的文本保存到数据库中。该表是通过与数据库的休眠连接动态生成的。表的 .jsp 中的 html 示例:

display:column property="ticketId" href="/ossWeb/displayTicketEdit.do" paramId="ticketId" title="Ticket ID"/>
<display:column property="ATCNotes" title="ATC Notes" class="notes" />
<display:column property="issue" title="Issue"/>
<display:column property="status" title="Status"/>

每个属性都直接映射到数据库中视图的列。我使用这个 jQuery 来允许单击 ATC Notes 列中的任何单元格并变成一个文本框:

$(".notes").live('click',(
function(){
    var text = $(this).text();
    $(this).text('');
    $('<input type="text" />').appendTo($(this)).val(text).select().blur(
        function(){
            var newText = $(this).val();
            $(this).parent().text(newText).find('input:text').remove();
       });
}));

当您单击单元格时,文本将替换单元格中已有的内容。每行对应一个ticketId,如我在jsp的第一行中所示。现在我的问题是,如何将输入的文本输入数据库?我在每一行都有一个复选框,为此,我可以为其分配一个“${ATCQueue.ticketId}”的值,但似乎没有任何类似的方法可以区分 ATC Notes 列中的每个单元格。我听说 AJAX 被用于类似的东西,但老实说,我对此很陌生,对 AJAX 几乎一无所知。

4

2 回答 2

0

我认为您不需要为此强制使用 AJAX。您可以编写一个动作 servlet 并提交表单。

或者,您可以使用 XMLHttpRequest/Response 进行本机 AJAX。另一种方法是使用 DWR 框架。

于 2013-09-19T18:29:15.283 回答
0

1.如果你想保存大量数据,第一件事就是;多行多列,那么您需要为修改的行设置一个标志(html 5 中的隐藏字段或本地存储)。2.遍历表的行并生成 xml 或 json 。3.是的,你没听错Ajax,现在通过Ajax调用将数据发送到你的代码后面。

于 2013-09-19T18:42:01.120 回答