- 浏览: 1233641 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
lankk:
lankk 写道事实上,在运行String s1=new St ...
理解String 及 String.intern() 在实际中的应用 -
lankk:
事实上,在运行String s1=new String(&qu ...
理解String 及 String.intern() 在实际中的应用 -
lankk:
同意1楼的说法http://docs.oracle.com/j ...
理解String 及 String.intern() 在实际中的应用 -
raoyutao:
...
jdk 线程池 ThreadPoolExecutor -
hongdanning:
理解了。之前困惑的一些明白了。谢谢分享。
理解String 及 String.intern() 在实际中的应用
I18N public class I18N { public static void main(String[] args){ Locale defaultL=Locale.getDefault(); System.out.println(defaultL.getCountry()); System.out.println(defaultL.getLanguage()); Locale my=new Locale("en","US"); ResourceBundle r=ResourceBundle.getBundle("Message",my); System.out.println(r.getString("k1")+"---"); System.out.println(r.getString("k2")+"222"); MessageFormat mf=new MessageFormat(r.getString("k1")); System.out.println(mf.format(new Object[]{"aaa"})); } } public class I18nSample { public static void main(String[] args) { Locale defaultLocale = Locale.getDefault(); System.out.println("default country=" + defaultLocale.getCountry()); System.out.println("defalut language=" + defaultLocale.getLanguage()); //Locale currentLocale = new Locale("zh", "CN"); Locale currentLocale = new Locale("en", "US"); //Locale currentLocale = new Locale("aaa", "asdfdsf"); ResourceBundle rb = ResourceBundle.getBundle("MessagesBundle", currentLocale); // System.out.println(rb.getString("k1")); // System.out.println(rb.getString("k2")); MessageFormat mf = new MessageFormat(rb.getString("k1")); System.out.println(mf.format(new Object[]{"张三"})); } } 中文 乱码 转成 unicode native2ascii Message_zh_CN1.properties Message_zh_CN.properties 1、struts的国际化配置 * 在struts-config.xml文件中加入<message-resources parameter="MessageResources" /> * 将MessageResources.propertis文件拷贝到src下 2、提供不同版本的国际化资源文件,中文需要采用native2ascii转换为unicode 3、在jsp中采用<bean:message/>标签读取国际化资源文件 <%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean"%> <form action="login.do" method="post"> <bean:message key="id" />:<input name="id" type="text"><br> <bean:message key="pw"/>:<input name="pw" type="text"><br> <input type="submit" > </form> 4、利用struts默认把Locale放到session中的特性,可以采用编程的方式手动切换语言设置 参见:ChangeLanguageAction.java public class LangAction extends Action { @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { Locale l=null; //Locale locale = Locale.getDefault(); String lang=request.getParameter("lang"); if("cn".equals(lang)){ l=new Locale("zh","CN"); }else if("en".equals(lang)){ l=new Locale("en","US"); } //request.getSession().setAttribute(Globals.LOCALE_KEY, l); this.setLocale(request, l); return mapping.findForward("success"); } } ------------------------------------- jstl <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <fmt:setLocale value="${header['accept-language']}"/> <fmt:setBundle basename="res.MessageResources"/> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB18030"> <title><fmt:message key="user.title"/></title> </head> <body> <h1><fmt:message key="user.title"/></h1> <hr> <form action="login.do" method="post"> <fmt:message key="user.username"/>:<input type="text" name="username"><br> <fmt:message key="user.password"/>:<input type="password" name="password"><br> <input type="submit" value="<fmt:message key="user.login"/>"> </form> </body> </html> 消息文本的国际化,分为三个步骤: * 创建消息 * 传递消息 * 显示消息 public class LoginAction extends Action {
@Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { LoginActionForm laf = (LoginActionForm)form; String username = laf.getUsername(); String password = laf.getPassword();
ActionMessages messages = new ActionMessages(); try { UserManager.getInstance().validate(username, password); //创建国际化消息文本 ActionMessage message = new ActionMessage("user.login.success", username); //ActionMessage message = new ActionMessage("user.login.success", new Object[]{username}); messages.add("loginSuccess1", message); messages.add("loginSuccess2", message); //传递国际化消息文本 this.saveMessages(request, messages); return mapping.findForward("success"); }catch(UserNotFoundException unfe) { //创建国际化消息文本 ActionMessage message = new ActionMessage("user.not.found", username); messages.add("error1", message); //传递国际化消息文本 this.saveErrors(request, messages); }catch(PasswordErrorException pee ) { //创建国际化消息文本 ActionMessage message = new ActionMessage("user.password.error"); messages.add("error2", message); //传递国际化消息文本 this.saveErrors(request, messages); } //return mapping.findForward("error"); return mapping.getInputForward(); }
}
如何创建消息? * 理解ActionMessage和ActionMessages的区别
如何传递消息? * 理解saveMessages和saveErrors的区别
如何显示消息? * 通过<html:messages/>标签显示消息(可以显示提示消息和错误消息,既能读取MESSAGE_KEY也能读取ERROR_KEY) <font color="red"> <html:messages id="msg" property="error1"> <bean:write name="msg"/> </html:messages> </font> <font color="blue"> <html:messages id="msg" property="error2"> <bean:write name="msg"/> </html:messages> </font> ----------------------- <html:messages id="msg" message="true" property="loginSuccess1"> <bean:write name="msg"/> </html:messages>
* 通过<html:errors/>标签显示消息(只能显示错误消息),只能读取ERROR_KEY <html:errors/> -----------------------------
发表评论
-
struts2 url 映射 查看 Struts Configuration Browser
2012-02-17 18:21 1438查看所有struts2映射到的url 2个办法 ... -
(转) Struts2 URL参数 s:if 判断应用
2010-10-27 14:56 3556Struts2的s:if标签很怪异,下面来具体地看看,如何用s ... -
struts2 动态 跳转 result
2010-07-29 17:22 2421<action name="user&q ... -
struts2 国际化 文件名 格式
2010-07-08 18:30 1222今天突然发现当浏览器语言是zh-tw的时候,显示的还是简体中文 ... -
struts2 ServletActionContext
2010-05-19 18:30 1746structs2 中提供了ServletActionConte ... -
struts2 访问 静态属性 静态方法
2010-05-19 15:20 1862静态方法 <s:property value=&quo ... -
struts2 s:select list取值
2010-05-05 15:48 15765<s:select id="Select&qu ... -
struts2 ModelDriven update
2010-04-28 12:42 1244public class ContactAction exte ... -
struts2 date money 格式化输出
2010-04-27 18:37 1874<s:date name="#note.cre ... -
struts2 不验证 方法
2010-04-27 18:32 1443用了struts2 的验证框架(如:action-valida ... -
jsp 页面访问 list size()
2010-04-27 14:18 3371jstl 1、在jsp页面中不能通过${list . ... -
struts2 带参数的redirect json
2010-04-22 21:16 1755<action name="createAct ... -
struts2 enum值相关
2010-04-14 20:34 1824public enum Dimension implement ... -
struts2 S 标签 取得parametes 值 ognl 判断 null
2010-04-14 14:30 2035<s:hidden name="xId&quo ... -
DispathAction
2009-12-11 17:52 11991、如果复写DispatchAction中的execute方法 ... -
异常处理
2009-12-11 17:39 11861、编程式异常处理 * 截获某个异常 * 创建相应的异 ... -
动态ActionForm 采用struts上传
2009-12-11 17:34 20521、动态ActionForm * 动态ActionFor ... -
struts 乱码
2009-07-01 17:27 1148request经过struts处理后默认encoding是is ...
相关推荐
在现代Web开发中,随着互联网的全球化,网站国际化(i18n)变得越来越重要。一个好的网站不仅需要提供精准且丰富的功能,还应该能够在不同的语言环境下为用户提供良好的浏览体验。本文将详细探讨如何使用JavaScript...
"黑群晖安装arpl-i18n"这个主题主要涉及到的是在黑群晖系统上安装和使用arpl-i18n的过程。黑群晖是一款基于Linux的网络存储解决方案,它允许用户创建个人云存储中心,进行数据备份、共享和远程访问。而arpl-i18n...
js使用i18n实现页面国际化 var webLanguage = ['zh-CN', 'en']; //获取网站语言 function getWebLanguage(){ //1.cookie是否存在 if (jQuery.cookie("userLanguage")) { i18nLanguage = jQuery.cookie(...
i18n(Internationalization,国际化)是一种软件设计方法,旨在使软件能够在不同的语言和文化环境中使用,无需进行大规模的代码修改。在本项目中,我们关注的是一个基于Eclipse、Tomcat和JavaScript开发的i18n国际...
《jQuery i18n Properties Minified 1.0.9.js:前端国际化的关键》 在Web开发领域,为了提供全球化的用户体验,前端国际化的功能是必不可少的。jQuery i18n Properties Minified 1.0.9.js,作为一款优秀的jQuery...
这个压缩包“vue项目中基于i18n的多语言的中文提取与写入的工具.zip”似乎包含了一个名为“i18n-collect-cli-master”的项目,它可能是一个命令行工具,用于帮助Vue项目自动收集和管理中文翻译。 Vue-i18n 工作原理...
vue3+vite+monorepo+qiankun+pnpm+vue-i18n、lodash、dayjs、windicss vue3+vite+monorepo+qiankun+pnpm+vue-i18n、lodash、dayjs、windicss vue3+vite+monorepo+qiankun+pnpm+vue-i18n、lodash、dayjs、windicss ...
《jQuery i18n Properties:实现前端国际化的关键组件》 在现代Web开发中,随着全球化需求的日益增强,网站和应用程序需要支持多种语言,以便更好地服务于全球用户。jQuery i18n Properties 就是这样一个关键工具,...
Vue 国际化 vue-i18n 双语言语言包 在本文中,我们将详细介绍 Vue 国际化 vue-i18n 双语言语言包的相关知识,包括安装、配置、使用等方面的内容。 1. 安装 vue-i18n 首先,我们需要安装 vue-i18n 插件,可以使用 ...
前端页面的国际化(i18n)是现代Web应用中不可或缺的一个特性,它允许网站内容根据不同地区的语言习惯进行展示。jQuery.i18n.properties插件是实现这一目标的一个强大工具,尤其适合那些基于jQuery构建的项目。这个...
《jQuery i18n Properties 1.0.9:实现多语言支持的关键库》 在Web开发中,为用户提供多语言支持是至关重要的,尤其是在全球化的互联网环境中。jQuery i18n Properties 1.0.9 是一个专门针对这一需求而设计的...
在开发Web应用时,语言国际化(i18n)是一个重要的功能,允许应用程序根据用户的地域设置展示相应的语言内容。Vue.js和UniApp都是常见的前端框架,它们提供了方便的国际化插件来实现这一功能。本篇将详细介绍Vue和...
国际化(i18n)是软件开发中的一个重要概念,它指的是使软件能够适应不同语言和地区的过程。这个术语“i18n”是由“internationalization”这个单词的首字母和中间的18个字母组成的,意在简洁地表示这个复杂的主题。在...
vue3+vite+monorepo+qiankun+pnpm+ vue-i18n、lodash、dayjs、windicss vue3+vite+monorepo+qiankun+pnpm+ vue-i18n、lodash、dayjs、windicss vue3+vite+monorepo+qiankun+pnpm+ vue-i18n、lodash、dayjs、windicss...
在Web开发领域,为了满足全球用户的需求,网站和应用的界面需要能够适应多种语言环境,这一过程称为“国际化”(Internationalization,简称i18n)。本文将深入探讨一个用于HTML和JSP前端页面国际化的关键工具——...
本项目“基于i18n国际化微服务统一处理错误码”就是针对这一需求而设计的。通过结合SpringBoot框架和i18n(国际化)技术,我们可以实现错误信息的多语言支持,让错误信息能够适应不同的用户群体。 首先,让我们来...
JavaScript(简称JS)i18n(国际化)实现是指在Web应用中,为了支持不同地区的用户,使用JS进行多语言切换的技术。i18n这个术语来源于“internationalization”,其中的18代表字母数,n代表最后两个字母。在本文中,...
在软件开发中,国际化(i18n)和本地化(l10n)是两个至关重要的概念,它们共同确保软件产品能够跨文化和地理界限,满足不同用户的使用需求。在这一过程中,特定的动态链接库(DLL)文件扮演着关键角色。标题中提到...
i18n-editor, 用于编辑 i18n 翻译文件的GUI i18n-editor 这里应用程序允许你同时管理多个翻译文件。编辑器支持具有以下格式的翻译文件:JSONES6 ( 封装在 javascript ES6模块中)Properties ( java属性文件,例如用于...
优雅集成i18n实现国际化信息返回是SpringBoot框架中一个重要的功能,它使得应用程序能够支持多语言环境,为全球用户提供更加友好的交互体验。在SpringBoot中,i18n(Internationalization)通常通过资源文件来实现,...