本帖最后由 李龙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),工作量实在太大了,不知道大家有没有其他更好的办法。 |