• 监听器和web国际化


    一、监听器
    1.监听器:监听器就是一个java程序,功能是监听另一个java对象变化(方法调用、属性变更)
    2.监听器监听过程:事件源、事件对象、监听器对象、操作事件源
    1).存在被监听对象(事件源)
    2).存在监听器对象
    3).在事件源中注册监听器
    4).操作事件源,使事件源发生改变,产生事件对象(事件源的改变)
    5).事件对象会被传递给监听器,触发监听器相应行为
    3.Servlet规范定义三门技术之一:Servlet、监听器、过滤器
    4.监听器的实现步骤:
    1).写一个类去实现监听器接口
    2).在web.xml中注册监听器
    5.java中提供了八种监听器
    1).用来监听三大作用域创建和销毁的监听器
    ServletContextListener:监听ServletContext域创建和销毁的监听器
    HttpSessionListener:监听session域创建和销毁的监听器
    ServletRequestListener:监听request域创建和销毁的监听器
    2).用来监听三大作用域中域属性变化的监听器
    ServletContextAttributeListener
    HttpSessionAttributeListener
    ServletRequestAttributeListener
    3).使javabean感知自己在session域中状态变化的监听器(这两个监听器不需要在web.xml中进行注册,只要让
    javabean去实现这个接口就可以了)
    HttpSessionBindingListener
    javabean被存入session
    javabean被移除出session
    HttpSessionActivationListener
    javabean随着session被钝化
    javabean随着session被活化
    二、国际化
    1.国际化:一款软件希望不同的国家和地区的使用者都可以使用,这时软件中的一些内容和数据需要根据用户地区信息
    不同而展示成不同的样子
    2.国际化的组成部分
    1).页面中静态内容的国际化(导航栏、提示信息、错误信息等)
    资源包
    ResourceBundle
    Locale
    fmt标签库
    2).程序动态产生的数据(时间、货币这类不同语言环境表示方法有差异的数据)的操作
    1'.日期时间格式化(DateFormat/SimpleDateFormat)
    static DateFormat getDateInstance() 
    获取日期格式器,该格式器具有默认语言环境的默认格式化风格。 
    static DateFormat getDateInstance(int style) 
    获取日期格式器,该格式器具有默认语言环境的给定格式化风格。 
    static DateFormat getDateInstance(int style, Locale aLocale) 
    获取日期格式器,该格式器具有给定语言环境的给定格式化风格。 
    static DateFormat getTimeInstance() 
    获取时间格式器,该格式器具有默认语言环境的默认格式化风格。 
    static DateFormat getTimeInstance(int style) 
    获取时间格式器,该格式器具有默认语言环境的给定格式化风格。 
    static DateFormat getTimeInstance(int style, Locale aLocale) 
    获取时间格式器,该格式器具有给定语言环境的给定格式化风格。 
    static DateFormat getDateTimeInstance() 
    获取日期/时间格式器,该格式器具有默认语言环境的默认格式化风格。 
    static DateFormat getDateTimeInstance(int dateStyle, int timeStyle) 
    获取日期/时间格式器,该格式器具有默认语言环境的给定日期和时间格式化风格。 
    static DateFormat getDateTimeInstance(int dateStyle, int timeStyle, Locale aLocale) 
    获取日期/时间格式器,该格式器具有给定语言环境的给定格式化风格
    2'.数字格式化(NumberFormat)
    static NumberFormat getCurrencyInstance() 
    返回当前默认语言环境的货币格式。 
    static NumberFormat getCurrencyInstance(Locale inLocale) 
    返回指定语言环境的货币格式。
    3'.消息格式化(MessageFormat):如果一个字符串中有多个对地区敏感的信息,可以使用此类进行批量
    国际化设置
    1''.MessageFormat类允许开发人员用占位符{0}{1}{2}…替换掉字符串中的敏感数据(即国际化相
    关的数据)。
    2''.MessageFormat类在格式化输出包含占位符的文本时,messageFormat类可以接收一个参数数组,
    以替换文本中的每一个占位符。
    3''.占位符有三种方式书写方式:
    {argumentIndex}: 0-9 之间的数字,表示要格式化对象数据在参数数组中的索引号
    {argumentIndex,formatType}: 参数的格式化类型
    {argumentIndex,formatType,FormatStyle}: 格式化的样式,它的值必须是与格式化
    类型相匹配的合法模式、或表示合法模式的字符串。

  • 相关阅读:
    Hadoop面试
    Node.js面试题
    Node.js面试题
    [转载]最好的关系,是我懂你的不容易
    据说练就了一指禅神功的觅闻实时手机新闻网,正以每天2000+IP的用户量递增。有智能手机的可以当场进行体验,没有的就算了哈
    刚6瓶啤酒4两56度白酒下肚,居然20分钟做了一手机版网站 !
    Android:刚6瓶啤酒4两56度白酒下肚,居然20分钟做了一手机版网站 !
    IT人生的价值和意义 感觉真的有了
    (Android+IOS)正在做一个新闻App,做的差不多了,听听大家的建议 (图)
    (Android 即时通讯) [悬赏],无论是谁发现一个漏洞奖励人民币1000元!
  • 原文地址:https://www.cnblogs.com/riasky/p/3483558.html
Copyright © 2020-2023  润新知