我想使用JSP为HTML中的每个标记分配一个唯一的id。
代码段......
<%
ArrayList<HospitalDTO> list=(ArrayList<HospitalDTO>)request.getAttribute("arrayList");
for(HospitalDTO hsp:list)
{
long no=hsp.getNumber();
//session.setAttribute("contactNumber",no);
String name=hsp.getName();
Date nextDD=hsp.getNextDD();
Date lastDD=hsp.getLastDD();
out.println("<tr><td class='text-center' >"+no+"</td><td class='text-center'>"+name+"</td><td class='text-center'>"+lastDD+
"</td><td class='text-center'>"+nextDD+"</td><td class='text-center'><input type='submit' class='btn btn-info' value='Notify Donor'></td></tr>");
}
%>
答案 0 :(得分:0)
您正在使用for
循环生成每个HTML行元素。因此,您可以使用行索引来确保唯一ID。例如,以下代码为每个tr
元素生成ID,从&#34; row_0&#34;开始:
<%
ArrayList<HospitalDTO> list=(ArrayList<HospitalDTO>)request.getAttribute("arrayList");
for(int i = 0; i < list.size(); i++) {
HospitalDTO hsp = list.get(i);
long no=hsp.getNumber();
//session.setAttribute("contactNumber",no);
String name=hsp.getName();
Date nextDD=hsp.getNextDD();
Date lastDD=hsp.getLastDD();
String rowId = "row_" + i;
out.println("<tr id='" + rowId + "'><td class='text-center' >"+no+"</td><td class='text-center'>"+name+"</td><td class='text-center'>"+lastDD+
"</td><td class='text-center'>"+nextDD+"</td><td class='text-center'><input type='submit' class='btn btn-info' value='Notify Donor'></td></tr>");
}
%>
- 编辑 -
请求者后来指定他想提交行索引。在这种情况下,我会sugest从表中删除那些提交按钮,在每行上放置单选按钮,并在表下面有一个提交按钮。该提交按钮将仅提交所选单选按钮的值。 表生成的JSP代码
<%
ArrayList<HospitalDTO> list=(ArrayList<HospitalDTO>)request.getAttribute("arrayList");
for(int i = 0; i < list.size(); i++) {
HospitalDTO hsp = list.get(i);
long no=hsp.getNumber();
//session.setAttribute("contactNumber",no);
String name=hsp.getName();
Date nextDD=hsp.getNextDD();
Date lastDD=hsp.getLastDD();
out.println("<tr><td><input type='radio' value='" + i + "'></td><td class='text-center' >"+no+"</td><td class='text-center'>"+name+"</td><td class='text-center'>" + lastDD + "</td><td class='text-center'>" + nextDD + "</td></tr>");
}
%>
另外,不要忘记将所有内容都包装到form
元素,以便提交正常工作。