My guess is that you are creating an
IllegalStateException when you try and redirect. Check your logs for any errors.
SendRedirect requires the server to cancel any output already built up to date, and send a completely different one. If the response has been "flushed" or "committed" it can't do that, as it has already passed the point of no return.
Possible Solutions:
1 - put your c:redirect tag as early as you can on the page. That way there is less chance the buffer will fill up and create an error
2 - Make your buffer larger: <%@ page buffer="32kb" %> and see what happens.
Cheers,
evnafets