在jsp servlet应用程序中的动态表上编辑按钮

时间:2015-07-28 00:23:51

标签: java jsp servlets arraylist

我正在开发一个JSP Servlet项目,我在JSP项目中创建了一个表。此表将从作为查询结果集的arraylist中填充。所以我基本上运行一个查询,存储到一个arraylist并显示该arraylist的值。我应该如何编辑表格中的字段,以便从表格中删除有关该字段的所有信息,并创建用户输入的新条目。

运行查询并显示表的JSP页面代码如下:

//run the query
try{
    out.println("<html>");
    out.println("<table id='tbl'class= 'cls' style='display;' border=''><tr><th>Tag</th><th>Severity</th><th>Threshold</th><th>ID</th><th id= 'del'>Delete</th> </tr>");
    Iterator<String> li = alarmarr.iterator();   
    int flagy=1;
    int temp = 1;

    for (int f=0; f<=count; f++){
        out.println("<tr>");
        while(li.hasNext() && temp <=numberOfColumns){
            temp++;
            String temporaryvalue = (String)li.next();
            out.println("<td><input type='text' value='"+temporaryvalue+"' /></td>");

            if(temp ==5 && flagy==1){
                out.println("<td> <a href='editalarm?id="+temporaryvalue+"'>Edit</a></td>");
                out.println("<td id = 'delalarms' > <a  id='delalarms' href='deletealarm?id="+temporaryvalue+"'>Delete</a></td>");
                flagy = 0;  
            }
        }
        temp = 1;
        flagy = 1;
        out.println("</tr>");

    }
    out.println("</table></div>");
    out.println("</center></div></body></html>"); 

}
catch(Exception e)
{
    System.out.println(e);
}

2 个答案:

答案 0 :(得分:1)

您应该更新alarmarr并重新呈现表格。例如,要添加新表格行,您需要将项目添加到alarmarr对象,同时删除需要从列表中删除的行。

我也不是使用JSPs scriptlet呈现HTML的忠实粉丝。请至少使用JSTL。

答案 1 :(得分:0)

尝试Ajax民谣,

function myFunction() { 

  if(confirm("Are you sure you want to delete this?")){
      var activeRecord= '${id}';  //or get id from click function

     //Make sure it is having the value here.
     //alert(activeRecord); or console.log(activeRecord);

     $.ajax({
       type: "POST",
       url: "servletURL",
       data: {"id": activeRecord},   
       dataType: 'json',
       success: function(data){
           // use data for populate form
       }
     }); 
   }
   else{
      return false;
   }
}