You'll have to be more specific about what didn't work. A common problem with these things is having a null address object, making it not possible to get to the city value.
I think you hit it on the head. For some reason, I am getting a little bit confused at when JSF/Seam will create an instance of objects for me, and when I have to create the instances myself in code. So right now in my code, there isn't a new Address() line, and I probably need it. Whereas the Location object is being automatically created.