1

嗨这是我的问题

我的jsp中有select标签

  <select list="#{'1':cat,'2':'dog','3':Monkey}" name="animalId" />

在我的动作课中,我正在使用modelDriven拦截器,如下所示

 public class ActionClass extends AcionSuport implements ModelDriven<BeanClass>
  {

     BeanClass modelName = new BeanClass();
     public BeanClass getModel()
     {

        return modelName;
        }
     }

这是我的豆类

   public class BeanClass
  {
    private Integer animalId;
       //There is getters and setters for animalId;

       }

我的问题是..当我想在我的操作类中获取下拉框的数据时,它给了我null价值。

Ofcourse I am using `modelDriven` interceptor in my `struts.xml`

但是当我转换animalId成它的工作正常的String类型时。BeanClass

根据文档..类型转换必须自动完成......但我也无法在控制台中收到任何错误......

请有人帮我..

4

1 回答 1

0

如果您想在值属性中预选一个选项,则模型中的字段类型应与下拉列表中的键类型和值类型相对应。如果键和值具有相同类型的对象,则可以相互比较。如果你有一个 string 或 char 类型的键和相应的类型值,Integer那么 OGNL 将尝试获取/设置与键相同类型的属性。在您的情况下,您使用带有字符串/字符键类型的 OGNL 实例化地图。这就是为什么你的属性没有设置,如果你的属性类型是String. 您可以更改下拉菜单创建Integer键和String值的方式。

<select list="#{1:'cat',2:'dog',3:'Monkey'}" name="animalId" /> 
于 2014-06-14T16:36:24.520 回答