Non penso che si possa fare solo con Struts, a meno di reinviare la pagina (ovvero un submit), visto che una volta mandato a terminale la pagina, la stessa è bella che "morta" per il server.
Però è abbastanza facile da fare con javascript:
codice:
<!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>Check Box Multiple</title>
<script language="javascript" type="text/javascript">
function doSelectAll(chk, chk_grp) {
if (chk.checked) {
for (var i = 0; i < chk.form.elements[chk_grp].length; i++) {
chk.form.elements[chk_grp][i].checked = true;
}
}
else {
for (var i = 0; i < chk.form.elements[chk_grp].length; i++) {
chk.form.elements[chk_grp][i].checked = false;
}
}
}
</script>
</head>
<body>
<form name="mioform" action="miaaction" method="post">
<input type="checkbox" name="selectAll" onclick="doSelectAll(this, 'check_group[]')" /> Seleziona tutto
<h2>Un po' di checkbox</h2>
<input type="checkbox" name="check_group[]" value="1" />1° Valore
<input type="checkbox" name="check_group[]" value="2" />2° Valore
<input type="checkbox" name="check_group[]" value="3" />3° Valore
<input type="checkbox" name="check_group[]" value="4" />4° Valore
<input type="checkbox" name="check_group[]" value="5" />5° Valore
<input type="checkbox" name="check_group[]" value="6" />6° Valore
<input type="checkbox" name="check_group[]" value="7" />7° Valore
<input type="checkbox" name="check_group[]" value="8" />8° Valore
<input type="checkbox" name="check_group[]" value="9" />9° Valore
<input type="checkbox" name="check_group[]" value="10" />10° Valore
</form>
</body>
</html>
Ovviamente, se dovessi seguire la strada di javascript e necessitare di ulteriore aiuto, sarebbe meglio far spostare il thread nella sezione apposita.
L'alternativa è appunto fare il submit del form (se non volessi far vedere il reload della pagina, tramite ajax - ma anche qui un po' di javascript non si potrebbe evitare) e settare a checked/unchecked (non sono un esperto di Struts, ma sono convinto che si possa fare) le tue checkbox.