forEachとradioボタン

メーリングリストで話題になってましたが、質問者の方は

aaaAAA
bbbBBB
cccCCC

こういう感じで選択された行を取得したいのかと思ってましたが
追加されたサンプルが

aaabbbccc

aaabbbccc

aaabbbccc

こんな感じだったので、上のパターンを実現する方法を考えてみたのですが
質問者の方は下のサンプルで無事解決(?)したようなのでここにメモ。
で、考えてみたのですがJavaScriptを使わないと厳しいかなと。radioボタンをspanで囲む形式で書く(コンポーネントとして認識させる)と各行がバラバラに動いてしまって「1行」を選択するという役目を果たせないし、コンポーネントとして認識させないと値がとれないし・・・。
という訳で正攻法では無理という結論に達したのですが、ちょっと強引な方法で実現させたので以下にメモ。
HTML

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Foreach sample with radio.</title>
<style type="text/css">    
    table.t1 {
    border-collapse: collapse;
    }  
    table.t1 td{
    border-top: outset 2px;
    border-left: outset 2px;
    height:50px;
    }
    table.t2 {
    border-bottom: outset 2px;
    border-right: outset 2px;
    border-collapse: collapse;
    }
    table.t2 td{
    padding:0px;
    }
</style>
</head>
<body>
    <form id="Form">
        <input type="hidden" id="bbbItemsSave"/>
        <table class="t2">
            <tr>
                <td>
                    <span id="aaa" style="pageDirection" class="t1">
                        <input type="radio" name="aaa" value="0"/>
                    </span>
                </td>
                <td>
                    <table class="t1">
                        <tbody id="bbbItems">
                            <tr>
                                <td>
                                    <span id="usrid">ユーザid</span>
                                </td>
                                <td>
                                    <span id="usrname">ユーザ名</span>
                                </td>
                                <td>
                                    <span id="usrmailaddr">メールアドレス</span>
                                </td>
                                <td>
                                    <span id="usrgrpname">所属グループ</span>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </td>
            </tr>
        </table>
        <input type="submit" id="doCcc" value="決定"/>
    </form>
</body>
</html>

pageクラス(getter/setterは省略)

public class ForeachRadio2Page {

    private int aaa;

    private List aaaItems;

    private int bbbIndex;

    private List bbbItems;

    private String usrgrpname;

    private String usrid;

    private String usrmailaddr;

    private String usrname;

    public Class initialize() {
        return null;
    }

    public Class doCcc() {
        System.out.println(bbbItems.get(aaa));
        return null;
    }

    public List makeAaaItems(int forEachCount) {

        List ret = new ArrayList();

        for (int i = 0; i < forEachCount; i++) {
            Map map = new HashMap();
            map.put("label", "");
            map.put("value", i);
            ret.add(map);
        }

        return ret;

    }

    public List makeBbbItems() {

        List ret = new ArrayList();

        for (int i = 1; i <= 10; i++) {
            Map map = new HashMap();
            map.put("usrgrpname", "usrgrpname" + i);
            map.put("usrid", "usrid" + i);
            map.put("usrmailaddr", "usrmailaddr" + i);
            map.put("usrname", "usrname" + i);
            ret.add(map);
        }

        return ret;

    }

    public Class prerender() {

        bbbItems = makeBbbItems();
        aaaItems = makeAaaItems(bbbItems.size());

        return null;
    }
}

radioボタンとforEachを無理やり一つの表のように見せただけです。。。