単一のチェックボックスでdisabledを適応させる

disabled属性はリクエストパラメータに含まれません。そのため、サーバー側からチェックされていないように見えます。
hiddenに値を持たせ、disabled属性の値を@PageScopeで持つ事でdisable属性の付いたcheckboxの値を扱う事が出来ます。

checkbox.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" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>checkbox disabled.</title>
</head>
<body>
<form id="cform">
<input type="checkbox" id="c1" name="c1" disabled="disabled"/>c1<br/>
<input type="checkbox" id="c2" name="c2" disabled="disabled"/>c2<br/>
<input type="checkbox" id="c3" name="c3"/>c3<br/>
<input type="submit"/>
<input type="hidden" id="c1hidden"/>
<input type="hidden" id="c2hidden"/>
<input type="hidden" id="c3hidden"/>
</form>
</body>
</html>

CheckboxPage.java

package example.teeda;

import org.seasar.teeda.extension.annotation.scope.PageScope;

public class CheckboxPage {

	public boolean c1;

	public boolean c2;

	public boolean c3;

	@PageScope
	public boolean c1Disabled;

	@PageScope
	public boolean c2Disabled;

	@PageScope
	public boolean c3Disabled;

	public Class initialize() {
		//チェックボックスの値
		c1 = true;
		c2 = false;
		c3 = false;
		//チェックボックスのdisabledプロパティ
		c1Disabled = true;
		c2Disabled = true;
		c3Disabled = false;
		return null;
	}

	public Class prerender() {
		System.out.println("c1:" + c1);
		System.out.println("c2:" + c2);
		System.out.println("c3:" + c3);
		return null;
	}

	public boolean getC1hidden() {
		return c1;
	}
	
	public boolean getC2hidden() {
		return c2;
	}
	
	public boolean getC3hidden() {
		return c3;
	}

	public void setC1hidden(boolean b) {
		if (c1Disabled) {
			c1 = b;
		}
	}

	public void setC2hidden(boolean b) {
		if (c2Disabled) {
			c2 = b;
		}
	}

	public void setC3hidden(boolean b) {
		if (c3Disabled) {
			c3 = b;
		}
	}

}