Spring - Apanhar uma lista de checkboxes no controlador

Oi

Estou a fazer uma aplicação Web onde tenho várias checkboxes geradas dinamicamente de acordo com uma lista. Como é q eu posso identificar as checkboxes checkadas no controlador?

O meu código do jsp é o seguinte:

<form method="post" name="form1">
<table>
	<tr>
		<td>
			<spring:bind path="groupPermOperations.groupId">
			<select name="groupId" onClick="document.form1.submit();">
				<c:forEach items="${groups}" var="group">
					<option value="<c:out value="${group.group_Id}"/>" <c:if test="${group.group_Id==actual}">selected="selected"</c:if> ><c:out value="${group.group_Name}"/></option>
				</c:forEach>
			</select>	
			</spring:bind>
		</td>
	</tr>	
</table>
</form>	
<table>

	<tr>
		<td>
			Grupo
		</td>
		<td>
			Permissao
		</td>
		<td>
			Patamar
		</td>
	</tr>
	<form name="form2">
	<c:forEach items="${ready}" var="perm" varStatus="loopStatus">
	<tr>
		<td>
			<c:out value="${perm.groupId}"></c:out>
			
		</td>
		<td>
			<input type="checkbox" name="permissionId"  value="<c:out value="${perm.permissionId}"/>" <c:if test="${perm.stepVal!=0}">checked="checked"</c:if> >
			<c:out value="${perm.permissionName}"></c:out>
		</td>
		<td>
			
			<select name="stepId">
				<c:forEach items="${steps}" var="step">
					<option value="<c:out value="${step.stepId}"/>" <c:if test="${step.stepValue==perm.stepVal }">selected="selected"</c:if>>
						<c:choose>
							<c:when test="${step.stepValue==-1}"><font color="blue">indeterminado</font></c:when>
							<c:when test="${step.stepValue==0}"><font color="red">sem acesso </font> </c:when>
							<c:otherwise><c:out value="${step.stepValue}"/></c:otherwise>
						</c:choose>
					</option>	
				</c:forEach>
			</select>
		</td>
	</tr>
	</c:forEach>
	</form>	
	<tr>
		<td>
			<input type="submit" value="test">
		</td>
	</tr>
	
</table>

o meu controlador, neste momento está definido assim:

public class PermissionChangeController extends SimpleFormController {
	private GroupManager groupMan;
	private GroupPermissionManager gpMan;
	private StepManager stMan;
	private PermissionManager pm;
	
	protected final Log logger = LogFactory.getLog(getClass());
	int groupId;
	int stepId;
	
	public ModelAndView onSubmit(Object command, BindException errors){
		logger.info("tou no onSubmit");
		groupId=((GroupPermOperations) command).getGroupId();
		stepId=( (GroupPermOperations) command).getStepId();
		return new ModelAndView(new RedirectView(getSuccessView()),errors.getModel());
	}
	
	protected Map referenceData(HttpServletRequest request) throws Exception {
	    
		List steps=stMan.getSteps();
		List permissions=pm.getPermissions();
		List groups=groupMan.getGroups();
	    List perms=gpMan.getPermissions(groupId);
		LinkedList ready=new java.util.LinkedList<GroupPermOperations>();
		for(int i=0;i<perms.size();i++){
			GroupPermOperations gpo= new GroupPermOperations();
			Group_Permission gp=new Group_Permission();
			gp=(Group_Permission)perms.get(i);
			gpo.setGroupId(gp.getGroup().getGroup_Id());
			gpo.setPermissionName(gp.getPermission().getPermission_Description());
			gpo.setStepVal(gp.getStep().getStepValue());
			ready.add(i, gpo);			
		}
		Map myModel = new HashMap();
		myModel.put("ready", ready);
		myModel.put("groups",groups);
		myModel.put("actual",groupId);
		myModel.put("steps", steps);
		myModel.put("permissions", permissions);
		return myModel;
	}

Eu tenho uma classe que identifica o que eu quero apanhar do jsp. Essa classe está definida da seguinte forma:

public class GroupPermOperations {

	private int groupId;
	private String groupName;
	private int permissionId;
	private String permissionName;
	private int stepId;
	private double stepVal;
		...

Portanto, o que eu quero é que os valores das checkboxes me criem um array de permissionId e que os valores dos varios selects criem um array de stepId. Alguém me pode dar uma dica?

Obrigado
Rui Gonçalves