Well, you can simply disable all the controls, but that usually looks pretty ugly. Plus when everything's framed in a control object, users are apt to get confused when they see an "editable" form with nothing editable on it.
I've always (dating all the way back to when JSPs first came out) maintained 2 separate JSPs for this kind of stuff. It may seem like duplication, but it gives a lot more control over the appearance. Usually my display and edit views don't look that much alike anyway.
Customer surveys are for companies who didn't pay proper attention to begin with.
You can go for disabling the fields. But then you need to beautify the stuff. And, surely, need to handle those confusions which might occur when user see the same with disabled field. We can spiffy that using CSS.