Javascript:从复选框中获取对象

Javascript:从复选框中获取对象,javascript,jsp,Javascript,Jsp,假设有一个名为“Device”的模型类,它包含许多相关属性,有没有办法通过使用Javascript在复选框中获取“Device”对象 如果我没有详细说明,以下是示例: JSP页面: <c:forEach var="device" items="${row.deviceList}"> <input type="checkbox" name="deviceDetails" value="${device}"> <c:out value="${device

假设有一个名为“Device”的模型类,它包含许多相关属性,有没有办法通过使用Javascript在复选框中获取“Device”对象

如果我没有详细说明,以下是示例:

JSP页面:

<c:forEach var="device" items="${row.deviceList}">
    <input type="checkbox" name="deviceDetails" value="${device}">
    <c:out value="${device.equipNo}" />
</c:forEach>
<c:forEach var="device" items="${row.deviceList}">
    <input type="checkbox" name="id" value="${device.stnID}">
    <c:out value="${device.stnID}" />
    <input type="checkbox" name="stnName" value="${device.stnName}">
    <c:out value="${device.stnName}" />
    <input type="checkbox" name="equipNo" value="${device.equipNo}">
    <c:out value="${device.equipNo}" />
</c:forEach>

Javascript:

var total = document.getElementsByName("deviceDetails");
// run through all element of checkedbox named deviceDetails
for(j=0; j<total.length; j++)
{
  <!-- get instance Device object ? -->
  alert(total[j].value);
}
var allID = document.getElementsByName("id");
var allName = document.getElementsByName("stnName");
var allNo = document.getElementsByName("equipNo");

var deviceList = new Array(); 
var device = new Object();

for(i=0; i<allID.length; i++)
{
    device.id = allID[i].value; 
    device.stnName = allName[i].value; 
    device.equipNo = allNo[i].value;

     deviceList.push(device);
}
var total=document.getElementsByName(“设备细节”);
//运行名为deviceDetails的checkedbox的所有元素
对于(j=0;j
警报(总[j].值);
}

你不能像以前那样传递
Java对象
让Javascript对其进行解释。你需要将对象转换为Java和JS两种语言都能理解的符号。我使用的一种方法是将我的Java对象转换为JSON,并使用Javascript从客户端获取它。

非常感谢,Jefferson。我成功地完成了使用JSON,我发现在前端JSP和后端servlet之间进行通信非常有用。顺便说一句,我在前端JSP中使用默认的JSON2.js,在后端Java servlet中使用Gson。它们工作得非常好!