コード例 #1
0
  /**
   * Check if html client info already exists in servlet request as one of the attributes. If not,
   * parse HTML request parameter to get html client info a json string. Use it to construct html
   * client info object with HtmlClientInfoFactory. Note that carrier info is derived from
   * devicecarrierMapping file based on program code.
   *
   * @param request
   * @return HtmlClientInfo
   */
  protected HtmlClientInfo getClientInfo(HttpServletRequest request) {

    HtmlClientInfo clientInfo =
        (HtmlClientInfo) request.getAttribute(HtmlFrameworkConstants.HTML_CLIENT_INFO);
    if (clientInfo == null) {
      String clientInfoString = HtmlCommonUtil.filterLastPara(request.getParameter("clientInfo"));
      try {
        clientInfoString = URLDecoder.decode(clientInfoString, "UTF-8");
      } catch (UnsupportedEncodingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
      String clientWidth =
          HtmlCommonUtil.filterLastPara(
              request.getParameter(HtmlFrameworkConstants.CLIENT_INFO_KEY_WIDTH));
      String clientHeight =
          HtmlCommonUtil.filterLastPara(
              request.getParameter(HtmlFrameworkConstants.CLIENT_INFO_KEY_HEIGHT));
      String ssoToken =
          HtmlCommonUtil.filterLastPara(
              request.getParameter(HtmlFrameworkConstants.CLIENT_INFO_KEY_SSOTOKEN));

      clientInfo =
          HtmlClientInfoFactory.getInstance()
              .build(clientInfoString, clientWidth, clientHeight, ssoToken);
    }
    return clientInfo;
  }