当前位置: 首页 > news >正文

鹰潭做网站建e网是什么软件

鹰潭做网站,建e网是什么软件,企业网站优化技巧,制作卡牌的网站1,新建国际化多语言文件 在resources目录下新建 messages.properties 其他语言的文件 编辑messages.properties文件,下方从text切换到Resource Bundle ,即可对照着编辑多语言文件 (如果没有找到Resource Bundle,先在settings-plugins中安装Resource Bundle Editor) 2,配…1,新建国际化多语言文件 在resources目录下新建 messages.properties 其他语言的文件 编辑messages.properties文件,下方从text切换到Resource Bundle ,即可对照着编辑多语言文件 (如果没有找到Resource Bundle,先在settings-plugins中安装Resource Bundle Editor) 2,配置文件添加配置 spring.messages.always-use-message-formatfalse 是否始终应用 MessageFormat 规则甚至分析没有参数的消息。 默认是false spring.messages.basenamemessages以逗号分隔的基名列表实质上是完全限定的类路径位置每个基名都遵循 ResourceBundle 约定对基于斜杠的位置提供了宽松的支持。如果它不包含包限定符例如“org. mypackage”则将从类路径根目录解析它。 默认是messages,所以第一步中文件为messages.properties,也可根据实际定义其他名字。 spring.messages.cache-duration1000加载的资源包文件缓存持续时间。如果未设置捆绑包将永久缓存。如果未指定持续时间后缀则将使用秒。 默认是null。 spring.messages.encodingutf-8消息包编码。 默认是UTF-8 spring.messages.fallback-to-system-localetrue如果未找到特定区域设置的文件是否回退到系统区域设置。如果关闭此功能则唯一的回退将是默认文件例如basename “messages”的“messages. properties”。 默认是true spring.messages.use-code-as-default-messagefalse是否使用消息代码作为默认消息而不是抛出“NoSuchMessageException”。建议仅在开发期间使用。 默认是false。 第一步中我们定义了一个参数叫test.i18n.message如果我们使用的时候取名test.i18n.message123只要是多语言文件中未定义的key则该参数设置为false时会报错。设置为true时不会报错由于找不到对应的key则不替换该多语言字符。 3设置上下文语言环境 在web请求中两个地方会根据header中的参数设置语言环境 org.springframework.web.filter.RequestContextFilter#initContextHolders org.springframework.web.servlet.FrameworkServlet#initContextHolders 解析request中locale的地方 org.apache.catalina.connector.Request#parseLocales 如果请求头中为携带语言参数的header为accept-language则框架已自动帮我们做了解析不用我们再写额外代码。 注意参考了多个大公司国际化没有公司将国际化相关的数据用accept-language传递accept-language本身记录的是浏览器我用的谷歌浏览器的语言环境可能是可以作为其他的业务数据类似于收集用户数据等而是存放在cookie中。 所以我们要定义一个参数将国际化相关的数据存放在cookie中请求后端时将该参数添加到header单独定义一个header参数或者将整个cookie传输中传递到后端。 假设这里是单独定义了一个header参数test-lang。 框架解析多语言环境时使用的accept-language所以我们要重写解析的方法替换为我们自定义的header参数test-lang。 新建一个request的包装类在filter中包装原request重写解析语言环境的方法。 import org.apache.tomcat.util.http.parser.AcceptLanguage;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper; import java.io.IOException; import java.io.StringReader; import java.util.*;/*** Description i18n 国际化包装请求* DATE 2024/4/6 22:45**/ public class I18nWrapperRequest extends HttpServletRequestWrapper {public I18nWrapperRequest(HttpServletRequest request) {super(request);}/*** Parse locales.*/protected boolean localesParsed false;/*** The preferred Locales associated with this Request.*/protected final ArrayListLocale locales new ArrayList();/*** The default Locale if none are specified.*/protected static final Locale defaultLocale Locale.getDefault();Overridepublic Locale getLocale() {if (!localesParsed) {parseLocales();}if (locales.size() 0) {return locales.get(0);}return defaultLocale;}Overridepublic EnumerationLocale getLocales() {if (!localesParsed) {parseLocales();}if (locales.size() 0) {return Collections.enumeration(locales);}ArrayListLocale results new ArrayList();results.add(defaultLocale);return Collections.enumeration(results);}/*** Parse request locales.*/protected void parseLocales() {localesParsed true;// Store the accumulated languages that have been requested in// a local collection, sorted by the quality value (so we can// add Locales in descending order). The values will be ArrayLists// containing the corresponding Locales to be addedTreeMapDouble, ArrayListLocale locales new TreeMap();EnumerationString values ((HttpServletRequest) getRequest()).getHeaders(test-lang);while (values.hasMoreElements()) {String value values.nextElement();parseLocalesHeader(value, locales);}// Process the quality values in highest-lowest order (due to// negating the Double value when creating the key)for (ArrayListLocale list : locales.values()) {for (Locale locale : list) {addLocale(locale);}}}/*** Parse accept-language header value.** param value the header value* param locales the map that will hold the result*/protected void parseLocalesHeader(String value, TreeMapDouble, ArrayListLocale locales) {ListAcceptLanguage acceptLanguages;try {acceptLanguages AcceptLanguage.parse(new StringReader(value));} catch (IOException e) {// Mal-formed headers are ignore. Do the same in the unlikely event// of an IOException.return;}for (AcceptLanguage acceptLanguage : acceptLanguages) {// Add a new Locale to the list of Locales for this quality levelDouble key Double.valueOf(-acceptLanguage.getQuality()); // Reverse the orderlocales.computeIfAbsent(key, k - new ArrayList()).add(acceptLanguage.getLocale());}}/*** Add a Locale to the set of preferred Locales for this Request. The first added Locale will be the first one* returned by getLocales().** param locale The new preferred Locale*/public void addLocale(Locale locale) {locales.add(locale);}}import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; import org.springframework.web.filter.OncePerRequestFilter;import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException;/*** Description 国际化过滤器* DATE 2024/4/6 23:00**/ WebFilter(/**) Component Order(value Ordered.HIGHEST_PRECEDENCE) public class I18nFilter extends OncePerRequestFilter {Overrideprotected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {filterChain.doFilter(new I18nWrapperRequest(request), response);} }4,返回多语言 目前是在报错信息中需要返回多语言,报错分为两种: 1)手动抛出异常信息 2)validation框架抛出异常信息 首先,我们需要
http://www.dnsts.com.cn/news/179389.html

相关文章:

  • 网站建设市场介绍网站整体框架
  • 成都市住房和城乡建设官网优化网站排名怎么样
  • 手机网站底部导航代码做网站需要用什麼服务器
  • 旅游景点网站建设方案网站优化建设山东
  • 老太太做受网站折扣网站怎么做
  • 做搜狗pc网站软件下载网站建设课程设计报告范文
  • 成都本地网站佛山宽屏网站建设
  • 建筑设计网站免费企业网站建设怎么做
  • 淮阳城乡建设局网站做网站就是做信息整合
  • 网站建设优化服务策划wordpress固定连接怎么设置最好
  • 北京 个人网站 备案莱芜金点子招聘电子版
  • 中国有哪些企业网站wordpress仿站
  • 2020站群seo系统wordpress写api接口
  • 怎么上网站做简易注销的步骤乐清 网站建设
  • 免费网站建设公司企业管理软件有哪些品牌
  • 开发工具的控件属性用不了昆明网站建设推广优化
  • 建网站选号域名网站网络安全怎么做
  • 胶州网站建设规划福州做网站
  • 什么网站可以做电子画册wordpress主题如何更换
  • 危险网站怎么办网站建设平台有哪些
  • 济南网站优化排名推广企业网站的功能有哪些
  • 广州网站建设菲利宾wordpress 备案号
  • 制作网站的第一步deals网站建设
  • 东莞 外贸网站 建站博山区住房和城乡建设局网站
  • 深圳商业网站建设哪家好网站开发常用形状
  • 上海定制网站建设最好看免费观看视频大全
  • 人才招聘网站开发 源代码太原制作微信网站
  • 咖啡网站建设的需求分析WordPress小程序导航主题
  • 怎么做打赏看视频的网站网站功能模块有哪些
  • 河南科技园网站建设免费在线代理网站