2010-05-04 7 views

risposta

40

se si utilizza i controller con annotazioni è possibile autowire la MessageSource e aggiungere il locale della richiesta in questo modo:

@Controller 
@Scope("request") 
public class MailController 
{ 
    @Autowired 
    private MessageSource messageSource; 

    @RequestMapping(value = "/mail/send", method = RequestMethod.GET) 
    public ModelAndView sendEmail(Locale locale) 
    { 
     String[] args = { "Mr.", "X" }; 
     // E.g. message.code="Dear {0} {1}" 
     String mailmessage = messageSource.getMessage("message.code", args, locale); 
     // Do something 
     return new ModelAndView(); 
    } 
} 
+0

Vorrei poter upvote questa risposta e domanda due volte ... Grazie, Daff e newbie! – Iryna

+0

L'uso di '@Scope (" richiesta ")' qui significa che viene creata una nuova istanza del controller per ogni richiesta? –

+0

Amr Mostafa: questo è un po 'fuori tema ma sì. Una nuova istanza viene creata per ogni richiesta. http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#beans-factory-scopes-other –

Problemi correlati