EN · DE · RU · FR · ES

#2835: URLHelper.java

projectforge-wicket/src/main/java/org/projectforge/web/URLHelper.java Typ: Java · Rolle: Komponente · Quelle: projectforge-wicket/src/main/java/org/projectforge/web/URLHelper.java 76 Zeilen · 37 Code · 34 Kommentare · 5 leer
Quellcodedatei unter projectforge-wicket/src/main/java/org/projectforge/web/URLHelper.java mit Java-Code für die Komponentenschicht.

Codestruktur

Paket: org.projectforge.web

Klassen: URLHelper

Methoden (2): encode, removeJSessionId

Importe: 2 Pakete

Quellcode (gekürzt)

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);

  /**
   * Verwendet 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("Kann '" + str + "' nicht URL-kodieren: " + ex.getMessage());
      return "";
    }
  }

  /**
   * Entfernt den jsessionid-Parameter aus der angegebenen URL, falls vorhanden.
   * @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) {
      // Keine Parameter, also endet die URL mit der jsessionid.
      return url.substring(0, pos);
    }
    if (questionMark < pos) {
      // Was zum Teufel?
      return url;
    }
    return url.substring(0, pos) + url.substring(questionMark);
  }
}

Git-Verlauf

868d6abb7 2025 -> 2026
63081666f Quellcode-Dateiköpfe: 2024 -> 2025.
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.
5f7ef41b8 Copyright 2021 -> 2022