If your ActionForm is in session scope, you will also have to reset the checkbox array to an empty array in the Action that performs the delete. Here is the sequence of events:
1- user checks a box and presses submit button
2-
Struts calls reset, thereby making
checkbox an empty array
3- Struts calls setCheckBox() making
checkbox an array of at least one element.
4- The execute method of your Action class is called, performing the delete and forwarding back to the
JSP.
5- JSP is redisplayed, and box still shows as checked because the checkbox array still has an element.
To fix this, you need to reset the array between steps 4 and 5.