<div class="doubleselect">
<s:doubleselect list="departmentList"
name="department3"
id="teacher3"
listKey="deptid"
listValue="deptname"
doubleName="teacherid3"
doubleList="teachersMap.get(top.deptid)"
doubleListKey="tid" doubleListValue="tname"
doubleValue="teacherByProfessortid.tid"
value="teacherByProfessortid.department.deptid"
formName="editForm"
headerKey=""
headerValue=""
doubleCssStyle="width:146px;"
cssStyle="width:146px;"
>
</s:doubleselect>
</div>
通过属性你也可以看得出来是怎么使用的,name,id,listKey,listValue等都是表示的是第一级的属性。
有double开发的就是第二级的属性了。
这里要说的就是是这个value,和doubleValue的属性。通常情况下,我们从action拿到值之后到该页面一般value值就是某个对象对象的名字。
但是,这个二级级联的是id而不是name,这里注意一下。 应该是: value="teacherByProfessortid.department.deptid",而不是: value="teacherByProfessortid.department.deptname"
同样: 第二级的也应该是: doubleValue="teacherByProfessortid.tid" 而不是 doubleValue="teacherByProfessortid.tname"
这个问题虽然很简单,但是如果你是第一次使用的话,那你就很疑惑了!
它这里的value就不是要显示在页面上像html的标签里面了。这个doubleselect标签的value是写入id然后通过id来显示真正要显示在页面上的value值!
怪异!呵呵!