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


    首先,定义了一个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是显示出来的值。

     

     

     

  • 相关阅读:
    Struts2
    Struts2
    学习python的第九天
    学习python的第八天--作业
    学习python的第七天--作业
    学习python第六天 --作业
    学习python的第六天---1(理论)
    学习python第五天
    学习python第四天
    学习python第三天
  • 原文地址:https://www.cnblogs.com/TTTTT/p/6057090.html
Copyright © 2020-2023  润新知