监听器和国际化
来源:互联网 发布:摇滚音乐淘宝网 编辑:程序博客网 时间:2024/05/24 05:37
一 监听器
作用:监听特定对象的创建或销毁,属性的变化。
Servlet中需要监听的对象:
request/session/servletContext
监听器接口:
一、监听对象创建/销毁的监听器接口
Interface ServletRequestListener 监听request对象的创建或销毁
Interface HttpSessionListener 监听session对象的创建或销毁
Interface ServletContextListener 监听servletContext对象的创建或销毁
二、监听对象属性的变化
Interface ServletRequestAttributeListener 监听request对象属性变化: 添加、移除、修改
Interface HttpSessionAttributeListener 监听session对象属性变化: 添加、移除、修改
Interface ServletContextAttributeListener 监听servletContext对象属性变化
三、session相关监听器
Interface HttpSessionBindingListener 监听对象绑定到session上的事件(不用在web.xml中配置)
Interface HttpSessionActivationListener(了解) 监听session序列化及反序列化的事件
监听器开发步骤:
1. 写一个普通java类,实现相关接口;
2. 在web.xml中配置
<listener> <listener-class>cn.itcast.a_life.MyRequestListener</listener-class> </listener>
二 国际化
Locale类:封装语言,国家信息的对象。
jdk中的API:
Locale locale = Locale.getDefault();//当前系统默认的语言环境locale.getLanguage();// 获取语言简称
servlet中的API:
request.getLocal();
2.1 国际化分为两部分:
2.1.1 静态数据国际化
固定的文本,如:用户名,密码
步骤:
1 在src文件夹下创建 properties 文件
2 properties文件命名规则:基础名语言简称国家简称.properties(如:msg_zh_US.properties)
3 获取国际化资源文件(2中的properties文件)通过ResourceBundle类
4 在properties里面添加kek-value 如:hello = 你好
示例代码:
Local local = Local.CHINA;//假设是中文环境//创建工具类对象 包名:properties文件所在的文件夹名称 基础名:msg ResourceBundle bundle = ResourceBundle.getBundle("包名.基础名",local);bundle.getString("hello");
2.1.2 动态数据国际化
数值,时间,货币,日期等在程序运行时动态产生的数据。
代码示例:
//模拟语言环境 Locale locale = Locale.US; NumberFormat nf = null; //国际化货币 double money = 100; nf=NumberFormat.getCurrencyInstance(locale); nf.format(money);//国际化货币 nf.parse("$100");//解析货币 //国际化数字 nf=NumberFormat.getNumberInstance(); nf.format(10000);//国际化数字 nf.format(10,000);//解析数字 //国际化百分比 nf=NumberFormat.getPercentInstace(); //国际化日期 int dateStyle = DateFormat.FULL;//full,long,medium,short int timeStyle = DateFormat.FULL;//full,long,medium,short DateFormat df = DateFormat.getDateTimeInstance(dateStyle,timeStyle,locale); String date = df.format(new Date());
2.1.3 jsp页面国际化
引入jstl国际化与格式化标签库
<%@taglib uri ="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %><fmt:setLocale value="${pageContext.request.locale}"/> //设置本地化对象<fmt:setBundle basename="包名.基础名" var="bundle"/>//设置工具类<fmt:message><fmt:message>//输出国际化的文本//使用<fmt:message key = 'hello' bundle="${bundle}"><fmt:message>
格式化标签
//格式化金额//0.00保留两位小数自动补零 #.##不自动补零<fmt:formatNumber pattern = "0.00" value="100"></fmt:formatNumber>//格式化日期<% request.setAttribute("date",new Date());%><fmt:formatNumber pattern = "yyyy-MM-dd" value="${date}"></fmt:formatNumber>
- 监听器和web国际化
- 监听器和国际化
- 监听器、国际化
- Java 监听器,国际化
- Java 监听器,国际化
- Java 监听器,国际化
- Java 监听器,国际化
- 过滤器、监听器、国际化
- javaweb第五记<监听器,本地化国际化>
- 键盘监听器和鼠标监听器
- 键盘监听器和鼠标监听器
- java 监听器和监听器模式
- 国际化和struts2中的国际化
- Web小结---Servlet,JSP,过滤器和监听器,四个作用域和九个内置对象,EL表达式语言,自定义标签,JSTL,国际化与汉字的编码
- Web小结---Servlet,JSP,过滤器和监听器,四个作用域和九个内置对象,EL表达式语言,自定义标签,JSTL,国际化与汉字的编码
- Web小结---Servlet,JSP,过滤器和监听器,四个作用域和九个内置对象,EL表达式语言,自定义标签,JSTL,国际化与汉字的编码
- 七月五日学习笔记之监听器&国际化
- spring的ApplicationContext,事件监听器与国际化消息
- ERP系统怎么实施?企业成功实施ERP系统离不开哪些步骤?
- 基于xxtea算法文件加密工具
- css优先级
- Highcharts做柱形图总结
- vs2013版MFC按钮点击无反应,执行不到相应的事件处理程序
- 监听器和国际化
- ubuntu 调中文显示
- 分布式系统监控平台-Overwatch架构设计(已开源)
- quartz详解2:quartz由浅入深
- Windows建立的shell脚本和Linux下面建立的shell脚本
- TF-IDF与余弦相似性的应用(二):找出相似文章
- ionic3+cordova 极光推送 记录
- linux Path配置
- markdown