Radio works.
The most common problem I've seen is that if no value is checked, the html does not submit a value - not even a blank or null value. That's just how html works.
So if the ActionForm already has a value for the radio, nothing new gets submitted and it will not get changed when you submit your
jsp. The Validation framework then looks at the ActionForm and sees that a value exists, and so the required validation does not fail.
If this doesn't help you figure it out, please state if your forms are request or session scope. Some navigation logic might also help myself or someone else see what your app is doing.