EN · DE · RU · FR · ES

#2835: URLHelper.java

projectforge-wicket/src/main/java/org/projectforge/web/URLHelper.java Тип: Java · Роль: Компонент · Источник: projectforge-wicket/src/main/java/org/projectforge/web/URLHelper.java 76 строк · 37 кода · 34 комментария · 5 пустых
Файл исходного кода в projectforge-wicket/src/main/java/org/projectforge/web/URLHelper.java, содержащий Java-код для слоя компонентов.

Структура кода

Пакет: org.projectforge.web

Классы: URLHelper

Методы (2): encode, removeJSessionId

Импорты: 2 пакета

Исходный код (сокращённый)

package org.projectforge.web;

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;

public class URLHelper
{
  private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(URLHelper.class);

  /**
   * Использует UTF-8
   * @param str
   * @see URLEncoder#encode(String, String)
   */
  public static String encode(final String str)
  {
    if (str == null) {
      return "";
    }
    try {
      return URLEncoder.encode(str, "UTF-8");
    } catch (final UnsupportedEncodingException ex) {
      log.info("Не удалось URL-кодировать '" + str + "': " + ex.getMessage());
      return "";
    }
  }

  /**
   * Удаляет параметр jsessionid из заданного URL, если он существует.
   * @param url
   * @return
   */
  public static String removeJSessionId(final String url)
  {
    if (url == null) {
      return null;
    }
    final int pos = url.indexOf(";jsessionid=");
    if (pos < 0) {
      return url;
    }
    final int questionMark = url.indexOf('?');
    if (questionMark < 0) {
      // Нет параметров, значит URL заканчивается на jsession id.
      return url.substring(0, pos);
    }
    if (questionMark < pos) {
      // Что за черт?
      return url;
    }
    return url.substring(0, pos) + url.substring(questionMark);
  }
}

История Git

868d6abb7 2025 -> 2026
63081666f Заголовки файлов исходного кода: 2024-> 2025.
b6092df09 Авторские права 2023 -> 2024
ab45d51fa Авторские права 2001-2022 -> 2001-2023.
5f7ef41b8 Авторские права 2021 -> 2022