Struts标签的multiBox的数据上载

Struts标签的multiBox的数据上载

多选方框,选定值后提交,然后接收到一个数组,这是小菜,看书都知道。

可是,我想给这些多选方框动态显示的时候给个选中或未选中的状态值,我是看了好几个文字材料,写得都够晕的,看是那么回事,实际操作,根本就不灵。还好我够灵光,凭直觉,终于解决。

Action 中:

       // 定义一组备选爱好 [ 也可以从数据库中读取 ]

       ArrayList hobbyList = new ArrayList();

       hobbyList.add( " 游泳 " );

       hobbyList.add( " 潜水 " );

       hobbyList.add( " 登山 " );

       hobbyList.add( " 跳伞 " );

       hobbyList.add( " 徒步旅行 " );

      

       // 定义一组选定的爱好 [ 也可以从数据库中读取 ]

       ArrayList hobbySelectList = new ArrayList();

       hobbySelectList.add( " 游泳 " );

       hobbySelectList.add( " 登山 " );

       hobbySelectList.add( " 徒步旅行 " );

      

       // 定义字符串数组,如果你的那个类的属性是数组类型。

       String[] hobby = new String[hobbySelectList.size()];

       // ArrayList 转换为 String[]

       hobbySelectList.toArray(hobby);

      

       // 定义你的那个 ActionForm

       PersonForm personForm = new PersonForm();

       // 设置那个数组类型的属性

       personForm.setHobby(hobby);

      

       // 注意,你给 JSP 传递的东西哦!

       // 一个是:备选数组 ArrayList

       // 另一个是: JSP 可承载的 ActionForm ,注意这个 ActionForm 要有被选定的数组属性值哦!

       request.setAttribute( "hobbyList" , hobbyList);

       request.setAttribute( "personForm" , personForm); 

      

       return mapping.findForward( "ready" );

JSP 中:

< logic:iterate id = "hobbyName" name = "hobbyList" >      

        < html:multibox property = "hobby" >

            < bean:write name = "hobbyName" />

        </ html:multibox >

        < bean:write name = "hobbyName" />

    </ logic:iterate >

解释一下 jsp 中的参数。

hobbyList 就是那个一组备选爱好数组;

hobbyName 就是随意定义的一个变量名,来接收 hobbyList 中的项;

hobby 就是 ActionForm 的那个数组属性名称;

 

看了这些,我自己都晕。。。这东西看来要自己领悟了!!!

我估计那个 html:radio 也是这么用,下次再研究。

你可能感兴趣的:(Struts标签的multiBox的数据上载)