読者です 読者をやめる 読者になる 読者になる

checkbox in used in ForEach

ForEach内でのチェックボックスの使用例は以下の通りです。
一覧画面で先頭にチェックボックスがある画面はよくあると思います。

test.html

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Test</title>
</head>
<body>
<form id="testForm">
<span id="allMessages"/>
<input type="hidden" id="testItemsSave"/>
<table border="1">
  <tr>
    <th>aaa</th>
    <th>bbb</th>
    <th>ccc</th>
  </tr>
  <div id="testItems">
  <tr>
    <td><input type="checkbox" id="aaa"/></td>
    <td><span id="bbb">BBB</span></td>
    <td><span id="ccc">CCC</span></td>
  </tr>
  </div>
</table>
<input type="submit" id="doTest" value="test"/>
</form>
</body>
</html>

次にPageクラスTestPage.java

public class TestPage {
    private TestDto[] testItems;

    private boolean aaa;

    private String bbb;

    private String ccc;

    public String doTest() {
        for (int i = 0, cnt = testItems.length; i < cnt; i++) {
            if (testItems[i].isAaa()) {
                System.out.println(i + "番目はチェックされてるから削除します");
                // hogeDao.delete(aaaItems[i]); // 例
            } else {
                System.out.println(i + "番目は未チェック!");
            }
        }
        return null;
    }

    public TestDto[] getTestItems() {
        if (testItems == null) {
            testItems = new TestDto[3];
            testItems[0] = createItem(false, "AAA1", "BBB1");
            testItems[1] = createItem(false, "AAA2", "BBB2");
            testItems[2] = createItem(false, "AAA3", "BBB3");
        }
        return testItems;
    }

    private TestDto createItem(boolean aaa, String bbb, String ccc) {
        TestDto item = new TestDto();
        item.setAaa(aaa);
        item.setBbb(bbb);
        item.setCcc(ccc);
        return item;
    }

    // それぞれのgetter, setterは省略
}

TestDto.java

public class TestDto implements Serializable {
    private static final long serialVersionUID = 1L;

    private boolean aaa;

    private String bbb;

    private String ccc;

    public TestDto() {
    }

    // それぞれのgetter, setterは省略
}

これで画面でチェックボックスを選択・未選択でメッセージが表示されている事が分かります。
また、HTML側はhiddenタグにてItemsSaveを忘れないようにしてください。