获取国际化上下文 API 访问权

执行此任务以通过解析对国际化上下文 API 的引用来访问国际化服务。

关于此任务

在应用程序组件的生命周期中,在该组件的初始化方法中(例如,在 servlet 的 init 方法中或企业 Bean 的 SetXxxContext 方法中)对国际化上下文 API 引用进行一次性解析。对于 Web Service 客户机程序,在初始化过程中对国际化上下文 API 的引用进行解析。对于支持 Web Service 的无状态会话 Bean,在 setSessionContext 方法中对引用进行解析。

过程

  1. 通过查找 Java™ 命名和目录接口 (JNDI) 名称 java:comp/websphere/UserInternationalization 以对 UserInternationalization 接口的引用进行解析。 例如:
    //--------------------------------------------------------------------
    // Internationalization context imports. 
    //--------------------------------------------------------------------
    import com.ibm.websphere.i18n.context.*;
    import javax.naming.*;
    ...
    
    public class MyApplication {
      ...
    
      //--------------------------------------------------------------------
      // Resolve a reference to the UserInternationalization interface.
      //--------------------------------------------------------------------
      InitialContext initCtx = null;
      UserInternationalization userI18n = null;
      final String UserI18nUrl = "java:comp/websphere/UserInternationalization"; 
      try {
        initCtx = new InitialContext();
        userI18n = (UserInternationalization)initCtx.lookup(UserI18nUrl);
      }
      catch (NamingException ne) {
        // UserInternationalization URL is unavailable.
      }

    如果 UserInternationalization 对象由于异常或限制而不可用,JNDI 查找调用将抛出包含 java.lang.IllegalStateException 实例的 javax.naming.NameNotFoundException 异常。

  2. 使用 UserInternationalization 引用创建 CallerInternationalization 或 InvocationInternationalization 对象的引用,这些对象分别提供对 调用者或调用国际化上下文元素的访问权。 CallerInternationalization 引用只能绑定到 Internationalization 接口;InvocationInternationalization 引用则可以根据应用程序需要对调用上下文进行只读还是读写访问,绑定到 Internationalization 接口或 InvocationInternationalization 接口。例如:
     ...
      //--------------------------------------------------------------------
      // Resolve references to the Internationalization and
      // InvocationInternationalization interfaces.
      //--------------------------------------------------------------------
      Internationalization callerI18n = null;
      InvocationInternationalization invocationI18n = null;
      try {
        callerI18n = userI18n.getCallerInternationalization();
        invocationI18n = userI18n.getInvocationInternationalization();
      }
      catch (IllegalStateException ise) {
        // An Internationalization interface(s) is unavailable.
      }

指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tin_gainaccess
文件名:tin_gainaccess.html