2

以下のように、コレクションからチェックボックスを設定する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>

出力は以下のとおりです

ここに画像の説明を入力

フォームを送信する際に、Checked Check ボックスだけの値が必要です。各チェック ボックスから値を取得するために 5 つの個別の行を書きたくありません。これを行う方法

助けてくれてありがとう。

4

2 に答える 2

2

Struts には、ニーズに合ったタグ : multibox があります。次のリンクが表示されます。

コレクションを配列に変換します

于 2013-05-16T12:38:00.693 に答える
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

これを使ってみてください

于 2013-06-20T08:59:06.327 に答える