Adicione atributos ao modelo de todos os controladores no Spring 3
Cada visualização única no meu aplicativo Spring 3 tem um conjunto de atributos nos quais eles podem confiar. Portanto, a primeira linha de cada controlador é algo como:
ControllerHelper.addDefaultModel(model, personManager, request);
In eu vou adicionar
bjeto @user e nome completo recuperado do banco de dados se a pessoa estiver logada conjunto de variáveis que normalmente são definidas uma vez (por exemplo,imagesHost
) conjunto de idiomas que um visitante pode alternar para idioma atual algumas estatísticas (por exemplo, número total de pessoas em nosso sistema)Isso tudo permite que cada visualização exiba o nome do usuário conectado, faça referência facilmente a um local da imagem, uma lista de idiomas e algumas estatísticas gerais sobre o sit
Então, a questão é: o objeto do modelo do controlador é o melhor local para armazenar todos os dados ou existe um local mais conveniente que facilite o acesso às informações por visualizações?
E segundo, eu realmente adoraria não ter que ter oControllerHelper
linha acima como a primeira linha em todos os controladores. Na verdade, nem sempre é a primeira linha; às vezes, verifico primeiro se preciso redirecionar nesse controlador, porque não quero desperdiçar recursos preenchendo o modelo sem motivo. Talvez um filtro ou anotação ou algum mecanismo de retorno de chamada do Spring possa garantir que oControllerHelper
código é chamadodepois d o controlador está terminado, mas está certoante a visualização é renderizada, pulando isso se um redirecionamento for retornado?