- 浏览: 919174 次
- 性别:
- 来自: 重庆
文章分类
- 全部博客 (453)
- Windows phone 7 (0)
- Andriod (47)
- iPhone (1)
- Web (30)
- J2EE (34)
- stucts 2学习笔记 (34)
- 开发项目 (3)
- spring学习笔记 (24)
- EJB学习笔记 (6)
- Hibernate学习笔记 (15)
- JPA学习笔记 (8)
- Jsp (11)
- ajax (7)
- 异常收集模块 (1)
- jquery (2)
- phoneGap (2)
- jquery Mobile (0)
- java面试总结 (5)
- Object-C (0)
- javascript (6)
- Eclipse (5)
- 支付集成 (2)
- Weblogic (1)
- Dubbox (5)
- Redis (10)
- linux (21)
- Codis (2)
- React Native (0)
- Mysql (6)
- Docker (3)
- 自动化部署 (1)
- 项目Bug管理平台 (2)
- 负载均衡 (1)
- Mycat (2)
- Java基础知识 (16)
- 数据库 (7)
- Maven (17)
- Kafka (21)
- logs (2)
- 大并发 (2)
- 消息中间件 (2)
- 分布式锁 (3)
- 算法 (4)
- 数字证书原理,公钥私钥 (0)
- 数字证书原理 (1)
- 公钥私钥 (1)
- zookeeper (4)
- Hbase (9)
- Hadoop (2)
- storm (2)
- 通信协议 (1)
- Hive (3)
- git (1)
- JVM (2)
- 大数据相关算法 (1)
- idea (5)
- 将博客搬至CSDN (1)
- 设计模式 (2)
- 表达式 (1)
- 代码审查工具 (0)
- 开源项目 (1)
- PyCharm (0)
- python (6)
- Kubernetes (1)
- swagger (1)
- Maven中mirrors和repository的关系 (0)
- RabbitMQ (3)
- redisson (1)
- k8s (2)
- Mac (1)
最新评论
-
misisipi101:
假设库已经分为32个,那么要扩展到64个,怎样做呢
订单分库分表实践总结以及关键步骤 -
mfkxk298:
简单明了的例子,解决了问题,谢谢啦!
关于ListView中notifyDataSetChanged()刷新数据不更新原因 -
whbwang:
" target="_blank" ...
java web开发 高并发处理 -
suguoqian:
...
java web开发 高并发处理 -
xiangnanyujing:
Dubbox+Redis3.0+Spring+Hibernate+zookeeper实现消息推送核心搭建
知识点:
【
<1、国际化:
准备资源文件,资源文件的命名格式如下:
baseName_language_country.properties
baseName_language.properties
baseName.properties
其中baseName是资源文件的基本名,我们可以自定义,但language和country必须是java支持的语言和国家。如:
中国大陆: baseName_zh_CN.properties
美国: baseName_en_US.properties
现在为应用添加两个资源文件:
第一个存放中文:itcast_zh_CN.properties
内容为:welcome=欢迎来到传智播客
第二个存放英语(美国): itcast_en_US.properties
内容为: welcome=welcome to itcast
对于中文的属性文件,我们编写好后,应该使用jdk提供的native2ascii命令把文件转换为unicode编码的文件。命令的使用方式如下:
native2ascii 源文件.properties 目标文件.properties
<2、配置全局资源与输出国际化信息:
当准备好资源文件之后,我们可以在struts.xml中通过struts.custom.i18n.resources常量把资源文件定义为全局资源文件,如下:
<constant name="struts.custom.i18n.resources" value="itcast" />
itcast为资源文件的基本名。
后面我们就可以在页面或在action中访问国际化信息:
在JSP页面中使用<s:text name=“”/>标签输出国际化信息:
<s:text name=“user”/>,name为资源文件中的key
在Action类中,可以继承ActionSupport,使用getText()方法得到国际化信息,该方法的第一个参数用于指定资源文件中的key。
在表单标签中,通过key属性指定资源文件中的key,如:
<s:textfield name="realname" key="user"/>
<3、国际化—输出带占位符的国际化信息:
资源文件中的内容如下:
welcome= {0},欢迎来到传智播客{1}
在jsp页面中输出带占位符的国际化信息
<s:text name="welcome">
<s:param><s:property value="realname"/></s:param>
<s:param>学习</s:param>
</s:text>
在Action类中获取带占位符的国际化信息,可以使用getText(String key, String[] args)或getText(String aTextName, List args)方法。
】
照样实现步骤如下:
第一步:按照上面知识点规则编写国际化配置文件(全局范围)
名字:myresource_en_US.properties、myresource_zh_CN.properties
注意:在包范围的国际化资源:
【
首先是文件的命名package_en_US.properties、package_zh_CN.properties
然后是将这些包范围的文件放在包下就可以了。他们的访问顺序是先从包范围中寻找资源如果没有资源就继续向上层包中寻找如果包中都没有就从全局资源文件中寻找
】
注意:在Action范围的国际化资源:
【
这里因为是Action范围中的所有这里指定了资源文件名为这个Action的名称同样放在这里Action所在的包中(globalResourceAction是Action的名字)
首先是文件的命名globalResourceAction_en_US.properties、package_zh_CN.properties
然后是将这些包范围的文件放在包下就可以了。他们的访问顺序是先从包范围中寻找资源如果没有资源就继续向上层包中寻找如果包中都没有就从全局资源文件中寻找
】
注意:国际化—JSP中直接访问某个资源文件
【
struts2为我们提供了<s:i18n>标签,使用<s:i18n>标签我们可以在类路径下直接从某个资源文件中获取国际化数据,而无需任何配置:
<s:i18n name="itcast">
<s:text name=“welcome”/>
</s:i18n>
Itcast为类路径下资源文件的基本名。
如果要访问的资源文件在类路径的某个包下,可以这样访问:
//访问指定包范围的国际化资源
<s:i18n name="com/liyong/globalResource/package">
<s:text name="welcome">
<s:param>小张</s:param>
</s:text>
</s:i18n>
//访问指定Action范围的国际化资源
<s:i18n name="com/liyong/globalResource/globalResourceAction">
<s:text name="welcome">
<s:param>小张</s:param>
</s:text>
</s:i18n>
上面访问cn.itcast.action包下基本名为package的资源文件。
】
内容:welcome={0} welcome {1}、welcome={0} \u6B22\u8FCE {1}
注意:这是myeclipse7.1会自动转换为unicode 见知识点。
文件放在类路径下也就是src后着lib目录下
第二步:配置structs.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!--下面常量指定资源文件基础名-->
<constant name="struts.custom.i18n.resources" value="myresource" />
<package name="itcast" namespace="/test" extends="struts-default">
<action name="golbalResource" class="com.liyong.globalResource.globalResourceAction" >
<result name="message">/WEB-INF/page/message.jsp</result>
<!-- 访问路径 http://localhost:8080/Structs2/test/sevletScope -->
</action>
</package>
</struts>
第三步:编写页面index.jsp文件
【
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<!--这里标签访问全局资源文件的key=welcome 其中传递两个参数
为对应的占位符-->
<s:text name="welcome">
<s:param>liyong</s:param>
<s:param>come here !</s:param>
</s:text>
</body>
</html>
】
第四步:这里为了在Action中访问资源文件编写action 名称:globalResourceAction
public class globalResourceAction extends ActionSupport{
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
@Override
public String execute() throws Exception {
//下面获得的资源中第二个参数是占位符中对应的值
message=this.getText("welcome",new String[]{"liyong","come here!"});
return "message";
}
}
第五步:编写一个返回视图 messag.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'message.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
</head>
<body>
${message }<br/>
<br/>
<s:debug></s:debug>
</body>
</html>
第六步:部署
访问页面:http://localhost:080/Native/index.jsp
访问action:http://localhost8080/Native/test/golbalResource
注意:改变浏览器的语言设置环境可以看到在不同的语言环境中出现不同语言内容:welcome={0} welcome {1}、welcome={0} \u6B22\u8FCE {1}
注意:这是myeclipse7.1会自动转换为unicode 见知识点。
【
<1、国际化:
准备资源文件,资源文件的命名格式如下:
baseName_language_country.properties
baseName_language.properties
baseName.properties
其中baseName是资源文件的基本名,我们可以自定义,但language和country必须是java支持的语言和国家。如:
中国大陆: baseName_zh_CN.properties
美国: baseName_en_US.properties
现在为应用添加两个资源文件:
第一个存放中文:itcast_zh_CN.properties
内容为:welcome=欢迎来到传智播客
第二个存放英语(美国): itcast_en_US.properties
内容为: welcome=welcome to itcast
对于中文的属性文件,我们编写好后,应该使用jdk提供的native2ascii命令把文件转换为unicode编码的文件。命令的使用方式如下:
native2ascii 源文件.properties 目标文件.properties
<2、配置全局资源与输出国际化信息:
当准备好资源文件之后,我们可以在struts.xml中通过struts.custom.i18n.resources常量把资源文件定义为全局资源文件,如下:
<constant name="struts.custom.i18n.resources" value="itcast" />
itcast为资源文件的基本名。
后面我们就可以在页面或在action中访问国际化信息:
在JSP页面中使用<s:text name=“”/>标签输出国际化信息:
<s:text name=“user”/>,name为资源文件中的key
在Action类中,可以继承ActionSupport,使用getText()方法得到国际化信息,该方法的第一个参数用于指定资源文件中的key。
在表单标签中,通过key属性指定资源文件中的key,如:
<s:textfield name="realname" key="user"/>
<3、国际化—输出带占位符的国际化信息:
资源文件中的内容如下:
welcome= {0},欢迎来到传智播客{1}
在jsp页面中输出带占位符的国际化信息
<s:text name="welcome">
<s:param><s:property value="realname"/></s:param>
<s:param>学习</s:param>
</s:text>
在Action类中获取带占位符的国际化信息,可以使用getText(String key, String[] args)或getText(String aTextName, List args)方法。
】
照样实现步骤如下:
第一步:按照上面知识点规则编写国际化配置文件(全局范围)
名字:myresource_en_US.properties、myresource_zh_CN.properties
注意:在包范围的国际化资源:
【
首先是文件的命名package_en_US.properties、package_zh_CN.properties
然后是将这些包范围的文件放在包下就可以了。他们的访问顺序是先从包范围中寻找资源如果没有资源就继续向上层包中寻找如果包中都没有就从全局资源文件中寻找
】
注意:在Action范围的国际化资源:
【
这里因为是Action范围中的所有这里指定了资源文件名为这个Action的名称同样放在这里Action所在的包中(globalResourceAction是Action的名字)
首先是文件的命名globalResourceAction_en_US.properties、package_zh_CN.properties
然后是将这些包范围的文件放在包下就可以了。他们的访问顺序是先从包范围中寻找资源如果没有资源就继续向上层包中寻找如果包中都没有就从全局资源文件中寻找
】
注意:国际化—JSP中直接访问某个资源文件
【
struts2为我们提供了<s:i18n>标签,使用<s:i18n>标签我们可以在类路径下直接从某个资源文件中获取国际化数据,而无需任何配置:
<s:i18n name="itcast">
<s:text name=“welcome”/>
</s:i18n>
Itcast为类路径下资源文件的基本名。
如果要访问的资源文件在类路径的某个包下,可以这样访问:
//访问指定包范围的国际化资源
<s:i18n name="com/liyong/globalResource/package">
<s:text name="welcome">
<s:param>小张</s:param>
</s:text>
</s:i18n>
//访问指定Action范围的国际化资源
<s:i18n name="com/liyong/globalResource/globalResourceAction">
<s:text name="welcome">
<s:param>小张</s:param>
</s:text>
</s:i18n>
上面访问cn.itcast.action包下基本名为package的资源文件。
】
内容:welcome={0} welcome {1}、welcome={0} \u6B22\u8FCE {1}
注意:这是myeclipse7.1会自动转换为unicode 见知识点。
文件放在类路径下也就是src后着lib目录下
第二步:配置structs.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!--下面常量指定资源文件基础名-->
<constant name="struts.custom.i18n.resources" value="myresource" />
<package name="itcast" namespace="/test" extends="struts-default">
<action name="golbalResource" class="com.liyong.globalResource.globalResourceAction" >
<result name="message">/WEB-INF/page/message.jsp</result>
<!-- 访问路径 http://localhost:8080/Structs2/test/sevletScope -->
</action>
</package>
</struts>
第三步:编写页面index.jsp文件
【
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<!--这里标签访问全局资源文件的key=welcome 其中传递两个参数
为对应的占位符-->
<s:text name="welcome">
<s:param>liyong</s:param>
<s:param>come here !</s:param>
</s:text>
</body>
</html>
】
第四步:这里为了在Action中访问资源文件编写action 名称:globalResourceAction
public class globalResourceAction extends ActionSupport{
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
@Override
public String execute() throws Exception {
//下面获得的资源中第二个参数是占位符中对应的值
message=this.getText("welcome",new String[]{"liyong","come here!"});
return "message";
}
}
第五步:编写一个返回视图 messag.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'message.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
</head>
<body>
${message }<br/>
<br/>
<s:debug></s:debug>
</body>
</html>
第六步:部署
访问页面:http://localhost:080/Native/index.jsp
访问action:http://localhost8080/Native/test/golbalResource
注意:改变浏览器的语言设置环境可以看到在不同的语言环境中出现不同语言内容:welcome={0} welcome {1}、welcome={0} \u6B22\u8FCE {1}
注意:这是myeclipse7.1会自动转换为unicode 见知识点。
- Native.zip (3.1 MB)
- 下载次数: 6
发表评论
-
struts2的原理
2016-07-04 09:56 527众所周知,Struts2是个 ... -
重庆APP开发 重庆Android 重庆Ios 爬虫科技 重庆爬虫科技
2014-10-06 12:03 9<!--[if gte mso 9]><x ... -
国际化-配置全局资源与输出国际化信息及带占位符
2012-05-04 15:38 0知识点: 【 <1、国际化: 准备资源文件,资源文件的 ... -
基于XML校验的一些特点
2012-05-08 12:05 895【 当为某个action提供了ActionClassName ... -
基于XML配置方式对指定action方法实现输入校验
2012-05-07 08:17 1152知识点: 【 当校验文件的取名为ActionClassNam ... -
基于XML配置方式实现对action的所有方法进行输入校验
2012-05-07 08:17 1289】 知识点: 】 使用基于XML配置方式实现输入校验时,Act ... -
输入校验的流程
2012-05-07 08:17 10091。类型转换器对请求参数执行类型转换,并把转换后的值赋给act ... -
手工编写代码实现对action指定方法输入校验
2012-05-07 08:17 1227知识点: 通过validateXxx()方法实现, vali ... -
手工编写代码实现对action中所有方法输入校验
2012-05-07 08:17 1066知识点: 通过重写validate() 方法实现, vali ... -
自定义拦截器
2012-05-03 13:40 0先看看下面的资料: <package name=&qu ... -
自定义拦截器
2012-05-03 13:39 0先看看下面的资料: <package name=&qu ... -
自定义拦截器
2012-05-03 13:39 0先看看下面的资料: <package name=&qu ... -
自定义拦截器
2012-05-03 13:39 0先看看下面的资料: <package name=&qu ... -
自定义拦截器
2012-05-03 13:39 0先看看下面的资料: <package name=&qu ... -
自定义拦截器
2012-05-03 13:39 0先看看下面的资料: <package name=&qu ... -
自定义拦截器
2012-05-03 13:39 0先看看下面的资料: <package name=&qu ... -
自定义拦截器
2012-05-06 10:41 1037先看看下面的资料: <package name=&qu ... -
自定义拦截器
2012-05-03 13:39 0先看看下面的资料: <package name=&qu ... -
自定义拦截器
2012-05-03 13:39 0先看看下面的资料: <package name=&qu ... -
多文件上传
2012-05-03 10:04 1379在stucts中多文件上传的 ...
相关推荐
属性占位符配置器
NULL 博文链接:https://johnson2132.iteye.com/blog/721062
带有占位符的TextView,可修改占位符颜色等属性,简单易用
继承自UITextView,且带有占位符和block回调的自定义textview SYPlaceHolderTextView:https://github.com/potato512/SYPlaceHolderTextView
工程运行环境有研发,测试和生产,不同的运行环境配置不同,使用maven 占位符,不同环境使用不同的配置
EPLAN P8 占位符的创建和运用,选择电气图中的相关电路,点击“插入” --------“占位符对象”,在占位符对象属性画面, 填写名称,并在分配画面-------属性-----技术参数后面的变量处填写变量名称。
动态生成SQL语句,通过给定的条件自动填充预设SQL语句的配位符,而避免通过程序判断生成SQL语句
本篇文章主要介绍了解决Spring国际化文案占位符失效问题的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
20.7版本,java处理word 的jar包,修改版本,无页眉页脚水印,无文档长度限制,已亲测有效,使用方法:https://blog.csdn.net/qq_21134557/article/details/107845002 2022-11-07 针对评论区问题,重新更新一下,并...
设置textfield占位符的颜色大小,开始编辑的时候可以让占位符跟着移动..
在React Native渲染文本或媒体内容之前,显示一些占位符的内容
%占位符概念 and python 实例格式化字符串转换符 表2. format2.1基础语法format可以实现%所实现的,但功能更强大2.2 高阶 1. %占位符 概念 and python 实例 %是字符串运算符,被称为格式化操作符。%左边是模版或者...
wps演示教程:文本占位符的特点与使用.docx
具体讲解 query 可 criteria 占位符查询
5.2 @RequestMapping通配符和占位符 1 @RequestMapping注解 类上指定的URL相对于应用根目录 @RequestMapping注解可以使用在控制器类和控制器类的方法上,一般情况下,类定义处的@ RequestMapping提供初步的请求映射...
在用freemaker模板的时候,第一步都会将word转换为xml格式文件,解析成xml文件经常会出现(个别、很多)字段占位符、变量值被分离,被分离的字段少的还好能手动改改,字段多了能让你直接发疯,此代码脚本轻松解决...
Java三种处理字符转占位符及其时间性能的对比
输出带有占位符的国际化信息 配置包范围国际化资源文件 配置Action范围国际化资源文件 ognl表达式 Struts 2常用标签解说 使用标签防止表单重复提交 Struts 2+Spring 2.5+Hibernate 3.3整合开发
Day Player是一款Sketch的图片占位符插入插件,对于设计师来说这款插件可以帮助节省很多时间,它可以在任意Sketch文档中插入一个可定制的图片占位符,其中内置多种可选占位符服务。当你激活控件的时候,还可以设定...