java下拉框空白_<s:select>下拉框是空白的解决办法

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

c9bc292b5ac6b1970de4a3b10a2da22e.png

DAO.java

15952420fc157aa9242bbaec93f19147.png

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

483ad428d0a575377916ace1935de21a.png

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

1df006a0ae949a9845698845bb6cca35.png

Struts.xml如下:

583ec9dcbc31fabf8c0e2fd3a7a14ef4.png

input.jsp如下:

71ee25402d7adf9e29e9265357f7ddd2.png

结果显示如下:

d88f82d09a75b1d3f6d21f5c850f0e1e.png

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

原因分析:

标签,解释下这个标签属性:

headerValue : 默认值value

headerKey :    默认name

list : 源数据 (可以在action方法里从数据库获取list)

name : 被选数据存放的位置(需在action类(Employee)中定义该对象)

listKey : 下拉选项的name

listValue : 下拉选项的value

value : 默认值

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

4edb6285797703ed30bb773488ca676d.png

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

运行结果如下:

70b3d3aff1eda77edde26f821b821291.png

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

2768ab4c20ebd5f2878ded07ffefb1a1.png

save.jsp页面结果如下:

1ef9af749fce9db3af2cf1931453aa13.png

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值