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

wordpress软件站网站开发的形式有

wordpress软件站,网站开发的形式有,电子方案网站建设方案,有没有专门做团购的网站上一篇是直接改浏览器的支持语言。 在浏览器上面直接改国际化语言 这次要实现的功能是直接在程序界面动态选择语言。 Locale 代表语言、国家。 ★ 在界面上动态改变语言 应用之所以能动态呈现不同的语言界面#xff0c;其实关键在于如何确定客户端的Locale#xff08;代…上一篇是直接改浏览器的支持语言。 在浏览器上面直接改国际化语言 这次要实现的功能是直接在程序界面动态选择语言。 Locale 代表语言、国家。 ★ 在界面上动态改变语言 应用之所以能动态呈现不同的语言界面其实关键在于如何确定客户端的Locale代表语言、国家信息 ——Spring Boot应用使用LocaleResolver来确定客户端所使用的Locale LocaleResolver 接口负责解析用户浏览器的Locale该接口有如下3个实现类。 ▲ AcceptHeaderLocaleResolver 根据浏览器的Accept请求头确定默认值。 当改变浏览器设置时实际上就是改变该浏览器所发送的Accept请求头。 上一篇的例子就是这一个。 ▲ CookieLocaleResolver 根据Cookie来确定 ▲ SessionLocaleResolver 根据Session来确定 如果要在界面上动态改变语言那就需要使用CookieLocaleResolver或SessionLocaleResolver。 ▲ 步骤 1在容器中配置LocaleResolver Bean用CookieLocaleResolver或SessionLocaleResolver都行2添加LocaleChangeInterceptor拦截器该拦截器需要指定根据哪个参数动态地更改Locale还需要将该拦截器添加到系统中3页面上用户选择不同语言则发送相应的请求参数此处的参数名对应于第二步所指定的参数来改变Locale——通常用一个下拉列表框来发送请求参数。总结 //配置 LocaleResolver Bean 作用改变Locale国际化语言有cookie和session两种方式比如要使用cookie的方式就在配置文件添加个cookie的属性值然后通过Value直接获取该属性值再去 LocaleResolver Bean 里面进行逻辑处理。 //配置一个拦截器的Bean — LocaleChangeInterceptor Bean 作用拦截器根据客户在前端发送的请求中携带的参数来动态地更改 Locale 国际话语言 就是用户发送一个请求比如选择 【美式英语】那么前端就会发送一个请求携带一个【choseLangen_US】参数然后这个请求就会被 LocaleChangeInterceptor 这个拦截器拦截到然后解析这个参数携带的 en_US解析这个参数是拦截器自己本身的功能我自己没有做过对这个参数的判断估计得看源码 代码演示 前端定义一个下拉框然后有两个超链接这两个超链接的请求会被后端的拦截器拦截到并进行处理 配置文件中的一些对应的一些配置 来到后端的配置类添加两个bean 一个是改变Locale的bean 一个是拦截器处理前端请求的bean package cn.ljh.i18n.config;import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.LocaleResolver; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver; import org.springframework.web.servlet.i18n.CookieLocaleResolver; import org.springframework.web.servlet.i18n.LocaleChangeInterceptor; import org.springframework.web.servlet.i18n.SessionLocaleResolver;import java.util.Locale;Configuration public class MyConfig implements WebMvcConfigurer {//通过这个配置参数可以指定使用哪种 LocaleResolverValue(${cn.ljh.locale.resolver.type})private String resolverType;//通过这个配置参数可指定使用哪个请求参数来更改 LocaleValue(${cn.ljh.locale.param.name})private String localeParam;//配置 LocaleResolver Bean//两种改变Locale国际化语言的方式通过获取配置文件里面的配置来选择修改的方式Beanpublic LocaleResolver localeResolver(){//如果要让用户可以自动选择语言必须使用 CookieLocaleResolver 或 SessionLocaleResolver//判断客户选择什么样的语言if (resolverType.equals(session)){SessionLocaleResolver sessionlr new SessionLocaleResolver();//设置默认的国际化语言为中国sessionlr.setDefaultLocale(Locale.CHINA);return sessionlr;} else if (resolverType.equals(cookie)){CookieLocaleResolver cookielr new CookieLocaleResolver();cookielr.setDefaultLocale(Locale.CHINA);//设置cookie的名字cookielr.setCookieName(lang);//设置cookie的存活时间cookielr.setCookieMaxAge(3600 * 24);return cookielr;} else{//使用默认的 LocaleResolverreturn new AcceptHeaderLocaleResolver();}}//配置一个拦截器的Bean拦截器根据客户在前端发送的请求中携带的参数来动态地更改 Locale 国际话语言Beanpublic LocaleChangeInterceptor localeChangeInterceptor(){LocaleChangeInterceptor interceptor new LocaleChangeInterceptor();//设置请求参数应用根据哪个请求参数来更改 Locale 参数名随便写interceptor.setParamName(localeParam);return interceptor;}//需要把这个 localeChangeInterceptor 拦截器 加到项目系统中通过重写WebMvcConfigurer里面支持的一个方法addInterceptorsOverridepublic void addInterceptors(InterceptorRegistry registry){//添加确定Locale的拦截器直接把上面的方法作为参数传进来。registry.addInterceptor(localeChangeInterceptor());} } appMess_en_US.properties login_titleLogin Page name_labelUser Name name_hintPlease input User Name password_labelPassword password_hintPlease input Password login_btnLogin reset_btnReset #{0} 占位符 welcome{0}, Welcome to study failuresorry,password and username not matched chooseChoose Language enUSA English zhSimple ChineseappMess_zh_CN.properties login_title登录页面 name_label用户名 name_hint请输入用户名 password_label密码 password_hint请输入密码 login_btn登录 reset_btn重设 #{0} 占位符 welcome{0}, 欢迎登录学习 failure用户名和密码不匹配 choose请选择语言 en美式英语 zh简体中文功能演示 前端index的代码 !DOCTYPE html html langen xmlns:thhttp://www.thymeleaf.org headmeta charsetUTF-8title国际化/title!-- 引入css样式用 link 元素 , stylesheet 样式单 , .gz表示是打包的但是springboot会自动解包 --!-- 引入 Bootstrap 的 Web Jar 中的 CSS 样式 --link relstylesheet th:href{/webjars/bootstrap/css/bootstrap.min.css}!-- jquery 放在 bootstrap 前面因为 bootstrap 需要依赖到 jquery --!-- 引入 jQuery 的 Web Jar 中的 js 脚本 --script typetext/javascript th:src{/webjars/jquery/jquery.min.js}/script!-- 引入 Bootstrap 的 Web Jar 中的 js 脚本 --script typetext/javascript th:src{/webjars/bootstrap/js/bootstrap.bundle.min.js}/script!-- 引入 popper 的 Web Jar 中的 Js 脚本 --script typetext/javascript th:src{/webjars/popper.js/umd/popper.min.js}/script/head body div classcontainerdiv classrowdiv classcol-smh4 th:text#{login_title}首页/h4/divdiv classcol-sm text-right!-- 定义选择语言的下拉列表 --div classdropdownbutton classbtn btn-primary dropdown-toggle typebuttoniddropdownMenuButton data-toggledropdown th:text#{choose}选择语言/buttondiv classdropdown-menu!-- 这是个超链接路径是根路径直接访问就会回到index页面 路径无所谓可以向任何地方发送请求因为最终都会被 localeChangeInterceptor 这个自定义的拦截器拦截到并进行处理 --!-- 此处发送请求时额外指定一个choseLang参数该参数由LocaleChangeInterceptor负责处理 --a classdropdown-item th:href{/?choseLangen_US} th:text#{en}英文/aa classdropdown-item th:href{/?choseLangzh_CN} th:text#{zh}中文/a/div/div/div/divdiv classtext-danger th:if${tip ! null} th:text${tip}/divform methodpost th:action{/login}div classform-group rowlabel forusername classcol-sm-3 col-form-labelth:text#{name_label}用户名/labeldiv classcol-sm-9input typetext idusername nameusernameclassform-control th:placeholder#{name_hint}/div/divdiv classform-group rowlabel forpassword classcol-sm-3 col-form-labelth:text#{password_label}密码/labeldiv classcol-sm-9input typepassword idpassword namepasswordclassform-control th:placeholder#{password_hint}/div/divdiv classform-group rowdiv classcol-sm-6 text-rightbutton typesubmit classbtn btn-primaryth:text#{login_btn}登录/button/divdiv classcol-sm-6button typereset classbtn btn-dangerth:text#{reset_btn}重设/button/div/div/form /div /body /html这个下拉框就是多添加一个 MyConfig 配置类还有这些配置文件的 以及前端的下拉框代码。 其他的没动可以看上一篇。 在浏览器上面直接改国际化语言
http://www.pierceye.com/news/39487/

相关文章:

  • 网站是空间备案上海市公共招聘网官网
  • 购物网站建设所需软件做网站发布
  • 网站建设公司愿景先做网页设计还是先弄网站
  • 聊城网站建设信息做游戏网站的目地
  • 绿色食品网站建设可行性网络销售型网站有哪些内容
  • 手机网站格式商城吉林电商的网络推广
  • 购物网站的图片轮播怎么做医疗器械类网站icp备案前置审批
  • 网站logo制作教程关掉自己做的网站
  • 河北专业网站制作少儿图书销售网站开发背景
  • 企业网站的宣传功能体现在()企业如何注册自己的网站
  • 网站开发人员应具备什么素质防火门 东莞网站建设
  • 上海人才中心网站网站建设栏目管理
  • 做网站收费标准点击量汕头cms建站
  • 医院为什么要做门户网站建设网站程序模块
  • 常州网站建设技术外包公众号怎么制作左右滑动图片
  • 广告设计工资高吗广州网站建设优化
  • 网上商城建网站网站界面设计总结
  • 安徽汽车网网站建设小白怎么做淘宝客网站
  • 网站建设推广费计入什么科目原材料价格查询网站
  • 益阳网站建设绍兴网站建设制作
  • 手机seo网站推广建设银网官方网站
  • 看车二手车网站源码深圳市国外网站建设
  • 宁波做亚马逊网站个体户网站备案
  • 嘉兴优化网站哪家好北京工装装修公司排名前十
  • 温州网站建设免费服务青海风控app下载
  • 手机网站开发流程百度指数是搜索量吗
  • 二级网站怎样做排名编程免费自学网站
  • 建网站的基本步骤wordpress所有文章
  • 咸阳做网站xymokj自己做返利网站
  • 网站设计公司有名乐云seo专业团队介绍