阳台煮酒

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

首先,定义了一个Department的JavaBean对象如下

DAO.java

在一个Action类Employee.java中将depts放入requestMap中

 

最后,在index.jsp里定义了一个链接

Struts.xml如下:

input.jsp如下:

结果显示如下:

 

可以看到,input.jsp页面打印出来的requestScope.depts是正常的。也就是说,<s:select>标签出了问题,而且是listValue="deptName"无法获取到deptName。

 

原因分析:

 <s:select>标签,解释下这个标签属性: 
headerValue : 默认值value 
headerKey :    默认name 
list : 源数据 (可以在action方法里从数据库获取list) 
name : 被选数据存放的位置(需在action类(Employee)中定义该对象) 
listKey : 下拉选项的name 
listValue : 下拉选项的value 
value : 默认值 

 

 

仔细检查department.java文件,发现department类的成员变量deptName的get、set方法的大小写写错了,怪不得<s:select>的listValue="deptName"无法获取到deptName。

 

 

解决办法:将departmnet.java的成员变量deptName的get、set方法改正即可让<s:select>的listValue="deptName"获取到deptName。

运行结果如下:

 

 

在save.jsp页面显示该结果:

save.jsp页面结果如下:

 

 同时,从上面的运行结果也可以看出,<s:select>标签的name属性存放的是listKey的值,而不是listValue的值,listValue是显示出来的值。

 

 

 

posted on 2016-11-12 17:16  阳台煮酒  阅读(1968)  评论(0编辑  收藏  举报