Struts2类型转换Checkboxlist

时间:2014-09-28 09:21:16

标签: struts2 checkboxlist

我有一个index.jsp主页,其中包含以下复选框列表以选择最喜欢的水果:

friuts that i like : <s:checkboxlist name="myFruits" list="{'apple','mango','orange'}"/>

在actionssupport文件中,我使用了'myFruits'字符串类型。 :

public class Action1 extends ActionSupport 
{
    String myFruits;
     public String getMyFruits() {
        return myFruits;
    }

    public void setMyFruits(String myFruits) {
        this.myFruits = myFruits;
    }

public String execute()
    {   

        return "success";
    }

}

读取所选值的results.jsp

 my favorite fruit is:<br>
  <s:property value="myFruits"/>

输出正确。

my favorite fruit is:
apple, mango

但是我无法理解选择的多个值(例如apple和mango)是如何存储在带有myFruit类型的valuestack中的。这不应该是List或数组吗?

为什么上面的代码只使用String类型来保存多个String名称?

1 个答案:

答案 0 :(得分:0)

  

但是我无法理解为例如applemango选择的多个值如何存储在带有myFruit类型的valuestack中。这不应该是List或数组吗?

您有一个名为myFruits的字符串属性和具有相同名称的参数。 Struts正在尽最大努力填充该属性,如果参数有多个值但属性是单个字符串类型,则它们可以转换为字符串,其值以逗号分隔。

另一方面,如果您有数组或列表属性类型,则值将设置为数组或列表。