最近有很多刚入职的小兄弟问了我一些前台页面数据传递问题。下面做一下简单介绍:有些小low
我们之所以前台页面使用Struts标签,就是因为它数据数据回显给我们提供了很多方便。Struts标签会实现自动回显数据功能。
举个小例子:
<s:select name="dept.id" list="deptList" listKey="id" listValue="deptName" headerKey="" headerValue="--请选择--">
</s:select>
首先jsp往后台传递数据都是以键值对的形式传递的,即name=value形式。
由代码简单可以得出:dept对象中至少有id和deptname两个属性。web层将查询出来的存有dept对象的list集合也就是deptList集合传递给jsp页面,传递过来的deptList是存有真实数据的List集合,然后deptList进行遍历,每一个dept对象就是一个子项。在jsp显示的内容就是listValue即遍历出来每个dept中的deptName属性的值。
而往后台传数据时,就是当选中哪一项时。即name=value,也就是 dept.id=id,此时id充当键值对的value,id就是没和dept对象的id值。
选中后提交后,后天就会获得dept的id从而,根据id也就获得此项的全部信息。