2013-05-25 74 views
2

在我的jsp中,我從一個Table1中選擇一些值,並使用Add按鈕將其添加到另一個表Table2中。這是我的jsp:如何在struts 2的action中獲取jsp中生成的表的值?

<%@page contentType="text/html;charset=UTF-8" language="java" 
               pageEncoding="UTF-8"%> 
<%@taglib prefix="s"uri="/struts-tags"%> 
<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
    <title>Insert title here</title> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" /> 
    <script type="text/javascript"> 
    $(document).ready(function(){ 
      $('#add').on("click", function(){ 
       $('#one tbody input:checked').parent().parent() 
              .appendTo("#two tbody"); 
       return false; 
      }); 

      $('#remove').on("click", function(){ 
       $('#two tbody input:checked').parent().parent() 
              .appendTo("#one tbody"); 
       return false; 
      }); 
     }); 


function GetCellValues() { 
    var oTable = document.getElementById('two'); 
    var mycars = new Array(); 
    var mycars1 = new Array(); 
    var mycars2 = new Array(); 
     //gets table 

     var rowLength = oTable.rows.length; 
     //gets rows of table 

     for (i = 0; i < rowLength; i++){ 
     //loops through rows 

      var oCells = oTable.rows.item(i).cells; 
      //gets cells of current row 
      var cellLength = oCells.length; 
       for(var j = 0; j < cellLength; j++){ 
       //loops through each cell in current row 
        //get your cell info here 
        var cellVal = oCells.item(j).innerHTML; 
        alert(cellVal); 
        if(j==3){ 
        mycars[i] = cellVal; 
        } 
        if(j==1){ 
         mycars1[i] = cellVal; 
         } 
        if(j==2){ 
         mycars2[i] = cellVal; 
         } 
       } 
     } 
     window.location ="DynamicTable?mytable="+mycars; 

} 
    </script> 

</head> 
<body> 
    <button onclick="GetCellValues()">Submit</button> 
    <table id="one" style="border:1px solid red;"> 
     <caption>Table 1</caption> 
    <thead> 
    <tr> 
    <th ></th> 
    <th> Id</th> 
    <th>Name</th> 
    <th>Status</th> 
    <th>Type</th> 
    <th>RollUp Type</th> 
    <th>System</th> 
    </tr> 
    </thead> 
     <tbody> 
     <s:iterator value="formList1"> 
      <tr> 
      <td><s:checkbox theme="simple" ></s:checkbox> 
    </td> 
    <td><s:property value="id"/></td> 
    <td><s:property value="named"/></td> 
    <td><s:property value="status"/></td> 
    <td><s:property value="type"/></td> 
    <td><s:property value="rollup"/></td> 
    <td><s:property value="unit"/></td> 

      </tr> 
      </s:iterator> 
     </tbody> 
    </table> 

    <table id="two" style="border:1px solid green;"> 
     <caption>Table 2</caption> 
    <thead> 
    <tr> 
    <th ></th> 
    <th> Id</th> 
    <th>Name</th> 
    <th>Status</th> 
    <th>Type</th> 
    <th>RollUp Type</th> 
    <th>System</th> 
    </tr> 
    </thead> 
     <tbody> 

     </tbody> 

    </table> 
    <br><hr><br> 
    <button id="add">Add</button> 
    <button id="remove">Remove</button> 

</body> 
</html> 

這裏如何檢索我在Action中的表2中添加的值,當我單擊Struts2中的Submit按鈕時?

這就是我嘗試過的,我點擊提交按鈕調用javascript GetCellValues(),在這裏我設置數組mycars,mycars1等等中的每一列。

在我的動作類中,我有這些數組的getter和setter。但在我的行動中,我無法檢索這些值。

如何在action中獲取jsp中生成的表的值?

UPDATE: 我只是糾正現在我就在行動,用逗號分隔字符串的值線window.location ="DynamicTable?mytable="+mycars;。我想知道是否有其他方法比我所用的方法?

+0

使用您的Web服務器支持的標準方法。 –

+0

我用它但它不工作 – user2077648

+0

不,你沒有!如果你知道,我會看到它。 –

回答

0

是的,你可以使用隱藏的輸入字段將值傳遞給動作類。 你可以在java腳本中設置這些字段,它將被稱爲onclick()提交按鈕。

相關問題