【问题标题】:how to build Spring Restful support json data multi language?如何构建 Spring Restful 支持 json 数据多语言?
【发布时间】:2016-08-18 06:57:34
【问题描述】:
@ResponseBody
@RequestMapping(value = "/category/all", method = {POST, GET})
public ListCategory all() {
    ListCategory response = new ListCategory();

    response.setListCategories(categoryDAO.selectAllCategory());
    response.setResponseStatus(1);
    //failedMessage = messageSource.getMessage("messages.customer.notActive", new Object[]{},Locale.getDefault());
    response.setResponseMessage(messageSource.getMessage("messages.agent.notAccessMenuAgent",
            new Object[]{},Locale.getDefault()));
    //activity Logging
    CommonMobileAgentUtil.activityLogging(response.getResponseStatus());

    return response;
}   

【问题讨论】:

    标签: java json spring rest


    【解决方案1】:

    这似乎有你要找的细节:http://www.ekiras.com/2016/01/springboot-internalization-and-i18n.html

    配置:

    @Bean
    public LocaleResolver localeResolver() {
     SessionLocaleResolver slr = new SessionLocaleResolver();
     slr.setDefaultLocale(Locale.US); // Set default Locale as US
     return slr;
    }
    
    @Bean
    public ResourceBundleMessageSource messageSource() {
     ResourceBundleMessageSource source = new ResourceBundleMessageSource();
     source.setBasenames("i18n/messages");  // name of the resource bundle 
     source.setUseCodeAsDefaultMessage(true);
     return source;
    }
    

    Controller(注意参数中的Locale):

    @RestController
    public class HomeController {
    
       @Autowired
       private MessageSource messageSource;
    
       @RequestMapping("/msg")
       public String msg(@RequestHeader("Accept-Language") Locale locale){
          return messageSource.getMessage("msg",null,locale);
       }
    }
    

    【讨论】:

    • 我有 2 个属性,messages_en.properties 和 messages_id.propertiees。怎么能切换语言?
    • 您想如何切换语言?你有很多选择。阅读它周围的Web MVC 文档。最相关的是LocaleChangeInterceptor。如何使用的示例在这里:justinrodenbostel.com/2014/05/13/…
    • 我没有 jsp 或 html 文件。我在控制器中有一个 responseMessage,如何根据我们在我的 android 应用程序中选择的语言读取 responseMessage?
    • 如何将语言发送到服务器?标题的一部分?部分 URL 查询参数?无论您选择哪个,您都希望设置适当的解析器或侦听器。文档描述了这些选项。
    • 如何解释每个控制器中的每个 responseMessage?
    猜你喜欢
    • 1970-01-01
    • 2011-01-02
    • 2011-11-08
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    相关资源
    最近更新 更多