Struts从复选框中获取值

时间:2013-05-16 12:28:55

标签: java jsp struts struts-1

我正在使用带有jsp页面的struts应用程序,该页面从集合中填充复选框,如下所示

UserDetails.java

public class UserDetails extends ActionForm 
{
   private Collection userSkills;   
   .
   //Getters and Setters for userSkills      
   .
   .
   .
   public void reset(ActionMapping mapping, HttpServletRequest request)
   {
    userSkills = new ArrayList();
    userSkills.add(new LabelValueBean("java", "Java"));
    userSkills.add(new LabelValueBean("mysql", "MySQL"));
    userSkills.add(new LabelValueBean("php", "PHP"));
    userSkills.add(new LabelValueBean("css", "CSS"));
    userSkills.add(new LabelValueBean("html", "Html"));
   }

}

我使用集合中的值填充JSP页面,如下面的

RegisterUser.jsp

<logic:iterate property="userSkills" id="userDet" name="User">
   <html:checkbox property="label" name="userDet" indexed="true">
      <bean:write property="label" name="userDet"></bean:write>
    </html:checkbox>
</logic:iterate>

输出如下

enter image description here

现在,在提交表单时,我想单独使用Checked Check复选框中的值。我不想写5条单独的行来从每个复选框中获取值。怎么做

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

Struts有一个符合您需求的标签:multibox,您可以看到这些链接:

将您的收藏转换为数组

答案 1 :(得分:1)

在Userdetails.java

    public class UserDetails extends ActionForm { 
    private String[] userSkills;
   //setter and getter for userSkills
}

在RegisterUser.jsp

<html:multibox property="userSkills" value="java"/> java
<html:multibox property="userSkills" value="mysql"/> mysql
<html:multibox property="userSkills" value="php"/> php

尝试使用此