Well, I'd have to RTFM to be sure, but I don't think you can code a complex component ID into findComponent. I think you have to do a findComponent on pnreviewform, then run a findComponent on that to get msg3output.
Although in most cases, it's probably going to be easier to just bind the msg3output control straight to the backing bean using the "binding=" attribute.
Just because I take people to task here for overusing bindings doesn't mean that binding is useless. It just has its place, that's all.
Incidentally, my own personal recommendation is to avoid using raw HTML in JSF view definitions. You can use the panelGrid control in place of the raw table definitions. Same end result, but more JSF-friendly.
Some people, when well-known sources tell them that fire will burn them, don't put their hands in the fire.
Some people, being skeptical, will put their hands in the fire, get burned, and learn not to put their hands in the fire.
And some people, believing that they know better than well-known sources, will claim it's a lie, put their hands in the fire, and continue to scream it's a lie even as their hands burn down to charred stumps.
Forget this weirdo. You guys wanna see something really neat? I just have to take off my shoe .... (hint: it's a tiny ad)