黑马程序员技术交流社区
标题: 关于Struts2的List集合表单数据录入的问题。 [打印本页]
作者: 黑马__李龙 时间: 2012-8-4 22:15
标题: 关于Struts2的List集合表单数据录入的问题。
本帖最后由 李龙276596456 于 2012-8-4 22:23 编辑
public class Template {
private String name;
private List<TemplateRoad> roads;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<TemplateRoad> getRoads() {
return roads;
}
public void setRoads(List<TemplateRoad> roads) {
this.roads = roads;
}
}
public class TemplateRoad {
private int id;
private Integer roadNo;
private List<TemplateCurve> curves ;
public Integer getRoadNo() {
return roadNo;
}
public void setRoadNo(Integer roadNo) {
this.roadNo = roadNo;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public List<TemplateCurve> getCurves() {
return curves;
}
public void setCurves(List<TemplateCurve> curves) {
this.curves = curves;
}
}
public class TemplateCurve {
private Integer curveNo;
private String name;
public Integer getCurveNo() {
return curveNo;
}
public void setCurveNo(Integer curveNo) {
this.curveNo = curveNo;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Action 很简单,就是接受画面的录入数据传给后台存到数据库中。画面要实现的功能也很简单,就是可以动态的增加或减少Template 中List<TemplateRoad> roads中的元素个数,还有可以动态的增加或减少Template中List<TemplateRoad> roads中的元素里的List<TemplateCurve> curves中的元素个数。
我现在能想到的方法是不使用Struts2的标签,而是利用JQuery动态的在页面添加或消除:
var rno =$("tr[rno]").length;
var road = “<tr rno='"+rno+"'><td class='deleteRoad'><input type='button' value='删除road' /></td><td class='roadNo'><input type='text' name='template.roads["+rno+"].roadNo' size='2' value='' /></td><td class='addCurve' align='left'><table ><tr><td><input type='button' value='增加曲线' /></td><td><input type='button' value='显示/隐藏' /></td></tr></table></td></tr>"
$("#roads").append(road);
但是这个方法太繁琐了,要在每次添加或删除之后计算<input type='text' name='template.roads[0].roadNo' size='2' value='' />标签里的roads的i值。再加上后面还有一个TemplateCurve(template.roads[0].curves[0].name),工作量实在太大了,不知道大家有没有其他更好的办法。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |